<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<script src="js/jquery-1.5.js"></script>
<script>
$(function()
{
$("#btnShow").click(function()
{
$.getJSON("servlet/handleData", function(data)
{
var strHtml="";
$.each(data,function(InfoIndex,info)
{
strHtml += "name " + info["name"] + "<br>";
strHtml += "sex " + info["sex"] + "<br>";
strHtml += "email " + info["email"] + "<hr>";
})
$("#content").html(strHtml);
})
})
})
</script>
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<input id="btnShow" type="button" value="submit" />
<br>
<div id="content" width="200"></div>
</body>
</html>
后台代码
package com.huawei.servlet;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;
public class handleData extends HttpServlet
{
/**
*
*/
private static final long serialVersionUID = 1L;
/**
* Constructor of the object.
*/
public handleData()
{
super();
}
/**
* Destruction of the servlet. <br>
*/
public void destroy()
{
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
/**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request
* the request send by the client to the server
* @param response
* the response send by the server to the client
* @throws ServletException
* if an error occurred
* @throws IOException
* if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String json = "[{\"name\":\"lishuai\",\"sex\":\"male\",\"email\":\"hilishuai@126.com\"},{\"name\":\"chenlongjiao\",\"sex\":\"female\", \"email\":\"chenlongjiao_123@126.com\"}]";
out.write(json);
out.close();
}
/**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to
* post.
*
* @param request
* the request send by the client to the server
* @param response
* the response send by the server to the client
* @throws ServletException
* if an error occurred
* @throws IOException
* if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out
.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
out.print(" This is ");
out.print(this.getClass());
out.println(", using the POST method");
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}
/**
* Initialization of the servlet. <br>
*
* @throws ServletException
* if an error occurs
*/
public void init() throws ServletException
{
// Put your code here
}
}
注意在doget方法里面的String json = "[{\"name\":\"lishuai\",\"sex\":\"male\",\"email\":\"hilishuai@126.com\"},{\"name\":\"chenlongjiao\",\"sex\":\"female\", \"email\":\"chenlongjiao_123@126.com\"}]";
这里的json使用的格式是[{"name":" lishuai"}]
如果使用[{'name':'name'}],也能运行但是确实显示不出结果的,
而且非常隐蔽,如果使用的是jquery之类的js框架调起来也很不好调出来‘
今天菜菜 就花了一个下午的时间,才解决了这个问题。