注意:要将json的相关类和json.js事先放到相关目录下面
1.AddUser.java
package com.servlet;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.json.JSONObject;
public class AddUser extends HttpServlet{
/**
*
*/
private static final long serialVersionUID = 1L;
@Override
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
StringBuffer json = new StringBuffer();
String line = null;
BufferedReader reader = request.getReader();
while((line = reader.readLine())!=null){
line = new String(line.getBytes("ISO8859-1"),"utf-8");
json.append(line);
}
JSONObject jsonObject = null;
try{
jsonObject = new JSONObject(json.toString());
}catch(Exception e){
e.printStackTrace();
}
String username = null;
String password = null;
String department = null;
String headship = null;
String sex = null;
String old = null;
try{
username = jsonObject.getString("username").toUpperCase();
password = jsonObject.getString("password");
department = jsonObject.getString("department");
headship = jsonObject.getString("headship");
sex = jsonObject.getString("sex");
old = jsonObject.getString("old")+"岁";
if(sex.equals("1")){
username = username+"先生";
sex = "男";
}else{
username = username+"女士";
sex = "女";
}
jsonObject.put("username", username);
jsonObject.put("password", password);
jsonObject.put("department", department);
jsonObject.put("headship", headship);
jsonObject.put("sex", sex);
jsonObject.put("old", old);
}catch(Exception e){
e.printStackTrace();
}
response.setContentType("text/html");
response.setCharacterEncoding("utf-8");
PrintWriter out = response.getWriter();
out.println(jsonObject.toString());
out.flush();
out.close();
}
}
2.index.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>index.html</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="json.js">
</script>
<script type="text/javascript">
var xmlhttp;
function createXmlHttpResquest() {
if (window.ActiveXObject) {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} else if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
}
}
function addNew() {
var username = document.getElementById("username").value;
var password = document.getElementById("password").value;
var department = document.getElementById("department").value;
var headship = document.getElementById("headship").value;
var sex = document.getElementById("sex").value;
var old = document.getElementById("old").value;
if (username == "") {
window.alert("请输入姓名!");
return;
}
if (password == "") {
window.alert("请输入密码!");
return;
}
if (department == "") {
window.alert("请输入部门!");
return;
}
if (headship == "") {
window.alert("请输入职务!");
return;
}
if (old == "") {
window.alert("请输入年龄!");
return;
}
var newUser = new User(username, password, department, headship, sex, old);
var userAsJSON = JSON.stringify(newUser);
createXmlHttpResquest();
xmlhttp.open("GET", "addUser", true);
xmlhttp.onreadystatechange = processor;
xmlhttp.send(userAsJSON);
}
function processor() {
if (xmlhttp.readyState == 4) {
if (xmlhttp.status == 200) {
var user = JSON.parse(xmlhttp.responseText);
var username = user.username;
var password = user.password;
var department = user.department;
var headship = user.headship;
var sex = user.sex;
var old = user.old;
updateTable(username, password, department, headship, sex, old);
}
}
}
function User(username, password, department, headship, sex, old) {
this.username = username;
this.password = password;
this.department = department;
this.headship = headship;
this.sex = sex;
this.old = old;
}
function updateTable(username, password, department, headship, sex, old) {
document.all.userTable.insertRow(-1);
var rows = document.all.userTable.rows.length;
document.all.userTable.rows[rows - 1].bgcolor = "#ffffff";
document.all.userTable.rows[rows - 1].align = "center";
//在插入的一行中插入六列
document.all.userTable.rows[rows - 1].insertCell(-1);
document.all.userTable.rows[rows - 1].insertCell(-1);
document.all.userTable.rows[rows - 1].insertCell(-1);
document.all.userTable.rows[rows - 1].insertCell(-1);
document.all.userTable.rows[rows - 1].insertCell(-1);
document.all.userTable.rows[rows - 1].insertCell(-1);
document.all.userTable.rows[rows - 1].cells[0].innerText = username;
document.all.userTable.rows[rows - 1].cells[1].innerText = password;
document.all.userTable.rows[rows - 1].cells[2].innerText = department;
document.all.userTable.rows[rows - 1].cells[3].innerText = headship;
document.all.userTable.rows[rows - 1].cells[4].innerText = sex;
document.all.userTable.rows[rows - 1].cells[5].innerText = old;
}
</script>
</head>
<body>
<h2>
AJAX+JSON示例
</h2>
<hr>
姓名:
<input name="userName" id="username" type="text">
<br>
密码:
<input name="password" id="password" type="text">
<br>
部门:
<input name="department" id="department" type="text">
<br>
职务:
<input name="headship" id="headship" type="text">
<br>
性别:
<SELECT id="sex">
<option value="1">
男
</option>
<option value="2">
女
</option>
</SELECT>
<br>
年龄:
<input name="old" id="old" type="text">
<br>
<input type="button" name="btn" value="新增用户" onClick="addNew()">
<br>
<br>
<TABLE id="userTable" border="1" width="500px" bgcolor="#eeeeee">
<TR>
<TD align="center">
姓名
</TD>
<TD align="center">
密码
</TD>
<TD align="center">
部门
</TD>
<TD align="center">
职务
</TD>
<TD align="center">
性别
</TD>
<TD align="center">
年龄
</TD>
</TR>
</TABLE>
</body>
</html>
3.web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>addUser</servlet-name>
<servlet-class>com.servlet.AddUser</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>addUser</servlet-name>
<url-pattern>/addUser</url-pattern>
</servlet-mapping>
</web-app>
分享到:
相关推荐
《jQuery-JSON使用详解》 在Web开发中,数据交换是不可或缺的一部分,JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式,因其简洁、易读性而被广泛应用。jQuery库提供了一套方便的API来处理JSON...
**C# 中的NewtonJson使用详解** 在C#开发中,处理JSON数据是常见的任务,而Newtonsoft.Json(也称为Json.NET)是一个广泛使用的库,它提供了强大的JSON序列化和反序列化功能。本文将详细介绍如何使用Newtonsoft....
在标题“JSON使用”中,我们可以推测这篇博文可能涵盖了JSON的基本用法、解析和序列化的方法,以及在不同编程语言中的应用。在实际开发中,JSON常用于前后端数据交互,因为它具有结构清晰、易读性强的特点。 描述中...
针对“Json使用需要依赖包”的主题,我们将详细介绍在不同编程语言中使用JSON所需的依赖包。 1. **Java** 在Java中,处理JSON的主要库有Jackson、Gson和org.json。Jackson是目前最流行的Java JSON库,它提供了高效...
在描述中提到的是“json使用jar包”,这通常指的是这些库中的一个或多个。例如,Jackson提供了`jackson-databind`、`jackson-core`和`jackson-annotations`这三个主要的jar包,用于JSON的序列化和反序列化。 1. **...
ASP.NET JSON 使用详解 在现代Web开发中,JSON(JavaScript Object Notation)已经成为数据交换的主要格式,尤其是在异步通信(Ajax)中。ASP.NET,作为微软的Web应用程序框架,提供了全面的支持来处理JSON序列化、...
在这个"Json 使用简单实例(VC)"中,我们将探讨如何在Visual C++(VC)环境下使用JSON。 首先,为了在VC(如VS2008)中处理JSON,我们需要一个JSON库。常见的C++ JSON库有RapidJSON、nlohmann/json、jsoncpp等。在...
本压缩包包含的"java配合json使用的JAR"提供了相关的支持,版本配套9个JAR,这可能包括了这些库的不同组件或者不同版本。 1. **Jackson**: Jackson是Java中最流行的JSON库之一,由FasterXML团队开发。它提供了...
这个“json使用手册帮助文档”显然是为了指导用户如何有效地使用和理解JSON格式。下面我们将深入探讨JSON的基本概念、结构以及在实际应用中的相关知识点。 1. JSON的基础概念 - JSON是一种独立于语言的数据格式,...
json使用教程
本篇文章将深入探讨如何在Linux系统下使用C语言封装的JSON库——cJSON,帮助开发者轻松地进行JSON数据的打包和解析。 cJSON是一个小型、快速且易于使用的JSON解析器,由David John Millman编写。它为C程序员提供了...
本压缩包“json使用解读.rar”是针对JSON在实际使用过程中可能遇到的问题的集合,包含了源文件、测试代码以及详细的说明文档,旨在帮助开发者更好地理解和处理JSON相关的问题。 1. **JSON格式规范**:JSON格式要求...
"json使用-bookmanager"这个主题可能涉及到一个名为"BookManager"的项目或应用,它使用JSON来处理和管理书籍数据。 在"BookManager"中,JSON可能扮演以下几个角色: 1. 数据存储:JSON格式可以用于存储书籍信息,...
标题"json使用的jar包"表明我们将讨论的是与JSON操作相关的Java库,通常是一个包含处理JSON功能的JAR文件。在Java开发中,最常用的JSON库有Gson、Jackson、org.json和Fastjson等。 1. Gson:Google提供的一个开源库...
在“json使用系列分享一”中,我们可以期待探讨以下关于JSON的知识点: 1. JSON的基本结构:JSON由键值对组成,键(key)总是字符串,而值(value)可以是各种类型,包括字符串、数字、布尔值、数组、对象或null。...
【第六章 Caché JSON 使用JSON适配器】 在Caché数据库系统中,JSON(JavaScript Object Notation)适配器提供了一种便捷的方式,将ObjectScript对象(注册的、序列化的或持久化的)与JSON文本或动态实体相互转换...
"json使用的全部jar包"指的是在进行Java项目开发时,为了支持JSON操作所需要引入的一系列Java库文件。这些.jar包通常包含了处理JSON解析、生成、序列化和反序列化的类和方法。下面我们将深入探讨JSON处理的常用库...
C# JSON库 Newtonsoft.Json 使用范例源码(双向动态生成,无需事先定义类): 1. 将字典类型序列化成Json字符串 2. 将Json字符串,反序列化成字典类型 3. 动态添加字典类型并序列化为Json字符串 4. 根据Json字符...
在"json使用例子"这个主题中,我们可以深入探讨以下几个关键知识点: 1. JSON的基本结构:JSON数据以键值对(key-value pairs)的形式存在,类似于JavaScript的对象。键(key)是字符串,用双引号包围;值(value)...
本文将深入探讨在Java中如何使用JSON,以及其在实际开发中的应用场景。 首先,Java中处理JSON的主要工具有两个:Jackson和Gson。这两个库提供了API,可以帮助我们轻松地将Java对象转换为JSON字符串,以及将JSON字符...