需要jquery插件
1 ajax提交 页面准备
<%@page import="javax.xml.ws.RequestWrapper"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<% String basePath = request.getScheme()+"://"+ request.getServerName()+":"+request.getLocalPort()+request.getContextPath(); %>
<%=basePath %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="<%=basePath %>/resource/js/json2.js" ></script>
<script type="text/javascript" src="<%=basePath %>/resource/js/jquery-1.7.1.min.js" ></script>
<script type="text/javascript">
function sendRequest(){
var uu = "jsondemo";
$.ajax({
type:"get",
dataType:"json",
url:"jsondemo",
data:{"a":1,"b":2},
success:function(data){
alert(JSON.stringify(data));
$.each(data,function(name,value) {
alert(name+":"+value);
});
}
});
}
</script>
</head>
<body>
<h2>Hello Daotie</h2>
<input type="button" value=" json demo " οnclick="sendRequest()">
</body>
</html>
2 web.xml配置
<servlet> <servlet-name>JsonDemo</servlet-name> <servlet-class>com.daotie.servlet.JsonServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>JsonDemo</servlet-name> <url-pattern>/jsondemo</url-pattern> </servlet-mapping>
3 Servlet类
package com.daotie.servlet;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.sf.json.JSONObject;
public class JsonServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public JsonServlet() {
super();
// TODO Auto-generated constructor stub
}
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("doGet");
String a = request.getParameter("a");
System.out.println(a);
Map<Object,Object> map = new HashMap<Object, Object>();
JSONObject json = new JSONObject();
map.put("name", "admin");
map.put("password", "123");
json.putAll(map);
System.out.println(json.toString());
response.getWriter().print(json.toString());
}
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
}
}
最后部署到jetty上或者tomcat上试试。
说明 在学习中发现 js部分的json.js脚本和jquery脚本有冲突, 网上人说建议使用json2.js 并且要先于jquery引入。
可以无法使用 parseJSON();和toJSONString()这两个函数。
希望对你有帮助。