Bean:
TestBean
/**
* @Title: TestBean.java
* @Package bean
* @Description:
* @author 兰泽
* @date 2014年5月8日 下午3:36:39
* @version V1.0
*/
package bean;
import java.util.Date;
/**
* @ClassName: TestBean
* @Description:
* @author 兰泽
* @date 2014年5月8日 下午3:36:39
*
*/
public class TestBean
{
private String propertys1;
private String propertys2;
private Date propertys3;
private TestBeanPro tb1;
/**
* @return propertys1
*/
public String getPropertys1()
{
return propertys1;
}
/**
* @param propertys1 要设置的 propertys1
*/
public void setPropertys1(String propertys1)
{
this.propertys1 = propertys1;
}
/**
* @return propertys2
*/
public String getPropertys2()
{
return propertys2;
}
/**
* @param propertys2 要设置的 propertys2
*/
public void setPropertys2(String propertys2)
{
this.propertys2 = propertys2;
}
/**
* @return propertys3
*/
public Date getPropertys3()
{
return propertys3;
}
/**
* @param propertys3 要设置的 propertys3
*/
public void setPropertys3(Date propertys3)
{
this.propertys3 = propertys3;
}
/**
* @return tb1
*/
public TestBeanPro getTb1()
{
return tb1;
}
/**
* @param tb1 要设置的 tb1
*/
public void setTb1(TestBeanPro tb1)
{
this.tb1 = tb1;
}
}
TestBeanPro
/**
* @Title: TestBeanPro.java
* @Package bean
* @Description:
* @author 兰泽
* @date 2014年5月8日 下午3:36:59
* @version V1.0
*/
package bean;
/**
* @ClassName: TestBeanPro
* @Description:
* @author 兰泽
* @date 2014年5月8日 下午3:36:59
*
*/
public class TestBeanPro
{
private String p1;
private String p2;
/**
* @return p1
*/
public String getP1()
{
return p1;
}
/**
* @param p1 要设置的 p1
*/
public void setP1(String p1)
{
this.p1 = p1;
}
/**
* @return p2
*/
public String getP2()
{
return p2;
}
/**
* @param p2 要设置的 p2
*/
public void setP2(String p2)
{
this.p2 = p2;
}
}
Servlet:
package servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
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.JSONArray;
import net.sf.json.JSONObject;
import bean.TestBean;
import bean.TestBeanPro;
/**
* Servlet implementation class ToJsonForJquery
*/
public class ToJsonForJquery extends HttpServlet
{
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public ToJsonForJquery()
{
super();
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
String requeststr = request.getParameter("method");
if ("toJsonObjectOfbean".equals(requeststr))
{
toJsonObjectOfbean(request, response);
}
if ("toJsonObjectOfMap".equals(requeststr))
{
toJsonObjectOfMap(request, response);
}
if ("toJsonObjectOfList".equals(requeststr))
{
toJsonObjectOfList(request, response);
}
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException,
IOException
{
doGet(request, response);
}
public void toJsonObjectOfbean(HttpServletRequest request, HttpServletResponse response) throws IOException
{
TestBean tb = new TestBean();
TestBeanPro tb1 = new TestBeanPro();
tb1.setP1("tb11111111111");
tb1.setP2("tb22222222222");
tb.setTb1(tb1);
tb.setPropertys1("abcdef");
tb.setPropertys2("123456");
tb.setPropertys3(new Date());
JSONObject jsonObject = JSONObject.fromObject(tb);
writeToResponse(response, jsonObject);
}
public void toJsonObjectOfMap(HttpServletRequest request, HttpServletResponse response) throws IOException
{
TestBean tb = new TestBean();
TestBeanPro tb1 = new TestBeanPro();
tb1.setP1("tb11111111111");
tb1.setP2("tb22222222222");
tb.setTb1(tb1);
tb.setPropertys1("abcdef");
tb.setPropertys2("123456");
tb.setPropertys3(new Date());
Map<String, Object> map = new HashMap<String, Object>();
map.put("textBean", tb);
map.put("type", "map");
JSONObject jsonObject = JSONObject.fromObject(map);
writeToResponse(response, jsonObject);
}
public void toJsonObjectOfList(HttpServletRequest request, HttpServletResponse response) throws IOException
{
TestBean tb = new TestBean();
TestBeanPro tb1 = new TestBeanPro();
tb1.setP1("tb11111111111");
tb1.setP2("tb22222222222");
tb.setTb1(tb1);
tb.setPropertys1("abcdef");
tb.setPropertys2("123456");
tb.setPropertys3(new Date());
Map<String, Object> map = new HashMap<String, Object>();
map.put("textBean", tb);
map.put("type", "map");
List<Object> list = new ArrayList<Object>();
list.add(tb);
list.add(map);
JSONArray jsonArray = JSONArray.fromObject(list);
writeToResponse(response, jsonArray);
}
public void writeToResponse(HttpServletResponse response, JSONObject jsonObject)
{
PrintWriter out = null;
response.setContentType("text/html;charset=utf-8");
try
{
out = response.getWriter();
out.print(jsonObject);
out.flush();
} catch (IOException e)
{
e.printStackTrace();
} finally
{
out.close();
}
}
public void writeToResponse(HttpServletResponse response, JSONArray jsonArray)
{
PrintWriter out = null;
response.setContentType("text/html;charset=utf-8");
try
{
out = response.getWriter();
out.print(jsonArray);
out.flush();
} catch (IOException e)
{
e.printStackTrace();
} finally
{
out.close();
}
}
}
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>jsonjquery</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<description></description>
<display-name>ToJsonForJquery</display-name>
<servlet-name>ToJsonForJquery</servlet-name>
<servlet-class>servlet.ToJsonForJquery</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ToJsonForJquery</servlet-name>
<url-pattern>/toJsonForJquery</url-pattern>
</servlet-mapping>
</web-app>
html
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Jquery_Ajax_Json</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js" type="text/javascript"></script>
<script>
$(document).ready(function(){
toJsonObjectOfbean();
toJsonObjectOfMap();
toJsonObjectOfList();
});
function toJsonObjectOfbean(){
$.ajax({url:"http://localhost:8080/jsonjquery/toJsonForJquery?method=toJsonObjectOfbean",
data:"",
type:"post",
dataType:"json",
contentType:"application/json;charset=utf-8",
catch:false,
success:function(data){
$("#toJsonObjectOfbean").html("toJsonObjectOfbean || success | "+ data.propertys3.year);
},
error:function(xhr){
$("#toJsonObjectOfbean").html("toJsonObjectOfbean || error | "+ xhr);
}
});
}
function toJsonObjectOfMap(){
$.ajax({url:"http://localhost:8080/jsonjquery/toJsonForJquery?method=toJsonObjectOfMap",
data:"",
type:"post",
dataType:"json",
contentType:"application/json;charset=utf-8",
catch:false,
success:function(data){
$("#toJsonObjectOfMap").html("toJsonObjectOfMap || success | "+ data.textBean.propertys3.year + "map:"+ data.type);
},
error:function(xhr){
$("#toJsonObjectOfMap").html("toJsonObjectOfMap || error | "+ xhr);
}
});
}
function toJsonObjectOfList(){
$.ajax({url:"http://localhost:8080/jsonjquery/toJsonForJquery?method=toJsonObjectOfList",
data:"",
type:"post",
dataType:"json",
contentType:"application/json;charset=utf-8",
catch:false,
success:function(data){
if(data.length >0 ){
for(var i=0; i<data.length; i++){
toJsonObjectOfListhtml = "toJsonObjectOfList || success <p/>";
toJsonObjectOfListhtml += "<p/>";
toJsonObjectOfListhtml += data[i].type;
toJsonObjectOfListhtml += "<p/>";
toJsonObjectOfListhtml += data[i].textBean.propertys1;
toJsonObjectOfListhtml += "<p/>";
}
$("#toJsonObjectOfList").html(toJsonObjectOfListhtml);
}
},
error:function(xhr){
$("#toJsonObjectOfList").html("toJsonObjectOfList || error | "+ xhr);
}
});
}
</script>
</head>
<body>
<span id="toJsonObjectOfbean"></span>
<p/>
<span id="toJsonObjectOfMap"></span>
<p/>
<span id="toJsonObjectOfList"></span>
<p/>
</body>
</html>
严重: Servlet.service() for servlet ToJsonForJquery threw exception
java.lang.ClassNotFoundException: org.apache.commons.lang.exception.NestableRuntimeException
使用JSON传值过程中抛出以上异常可能的原因是JSON支持jar包缺失或版本不对应
JSON支持jar版本:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICdzFWRoRXdvN1LclHdpZXYyd2LcBzNvwVZ2x2bzNXak9CX90TQNNkRrFlQKBTSvwFbslmZvwFMwQzLcVmepNHdu9mZvwFVywUNMZTY18CX052bm9CX90TUNlXSE1kZG1mYwhmMZZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39jM2UjM1cDM3EDOwUDM0EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
Demo