前端代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ page contentType="text/html; charset=UTF-8"%>
<html>
<head>
<title></title>
<script src="js/jquery-1.12.2.js"></script>
<script language="JavaScript">
function checkUserid() {
$.ajax({
type : 'post',
data : {
userid : $("#userid").val(),
sex : "男"
},
url : "Ajax/CheckServlet",
success : function(data) {
var obj = eval('(' + data + ')');
alert(obj.success);
},
error : function() {
},
complete : function() {
}
});
}
</script>
</head>
<body>
用户ID:
<input type="text" id="userid" name="userid"> <span id="msg"></span>
<br>
<button onclick="checkUserid()">传输</button>
</body>
</html>
后台servlet代码
public class CheckServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
/*设置字符集为'UTF-8'*/
request.setCharacterEncoding("UTF-8");
response.setContentType("text/json;charset=UTF-8"); //设置响应数据类型
response.setCharacterEncoding("UTF-8");
String userid = request.getParameter("userid"); // 接收userid
String sex = request.getParameter("sex");//接收性别
System.out.println(userid);
System.out.println(sex);
//写返回的JSON
PrintWriter pw = response.getWriter();
String json = "{'success':'成功','false':'失败'}";
JSONArray jsonArray = JSONArray.fromObject(json );
pw.print(jsonArray );
pw.flush();
pw.close();
}
}
PrintWriter中write()方法和print()方法的区别?
- print方法可以将各种类型的数据转换成字符串的形式输出。
- 重载的write方法只能输出字符、字符数组、字符串等与字符相关的数据。
最终都是重写了抽象类Writer里面的write方法
简而言之:当输出内容有中文时就用write();
将string转换为json字符串
JSONArray jsonArray = JSONArray.fromObject(json );
后台解析前台json数据
obj是前台请求json数据
String data=obj.toJSONString();
JSONObject json = JSON.parseObject(data);
String createArr=json.getString(“createArr”);