需要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 " onclick="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()这两个函数。
希望对你有帮助。