天天看点

Java+Jquery+Json传值基础实例

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版本:

Java+Jquery+Json传值基础实例

Demo

继续阅读