论坛首页 Web前端技术论坛

详细学习JSON之Servlet中使用JSON

浏览 8215 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (9) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-12-24  

    在Servlet中使用JSON,和上篇的使用相同,只不过多了配置web.xml的内容

  

    servlet代码如下:

import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import net.sf.json.JSONArray;

public class JSONServlet extends HttpServlet {

	private static final long serialVersionUID = 1L;

	public JSONServlet() {
		super();
	}

	public void destroy() {
		super.destroy(); 
	}

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		doPost(request, response);
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		//使用JSONArray测试
		JSONArray jsonArray = new JSONArray();
		jsonArray.add("MCA");
		jsonArray.add("kevin");
		jsonArray.add("15-12-1998");
		jsonArray.add(new Double(12.3));
		List<String> list = new ArrayList<String>(); 
		list.add("a collection added");
		list.add("kevin collection test");
		jsonArray.addAll(list);
		
		//页面输出JSONArray的内容
		PrintWriter out = response.getWriter();
		out.print(jsonArray);
		out.println("======================================");
		for(int i=0;i<jsonArray.size();i++){
			out.print(jsonArray.getString(i));
		}
	}

	public void init() throws ServletException {
	}
}

 

  配置web.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
	xmlns="http://java.sun.com/xml/ns/javaee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <servlet>
    <servlet-name>JSONServlet</servlet-name>
    <servlet-class>com.justinmobile.JSONServlet</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>JSONServlet</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

 

  访问页面

  http://localhost:8080/Ext/test.do

  我们得到输出结果:

 

["MCA","kevin","15-12-1998",12.3,"a collection added","kevin collection test"]====================================== MCAkevin15-12-199812.3a collection addedkevin collection test

 

 

   发表时间:2009-12-31  
我一般是这样

Map map = new HashMap();
map.put("age", 22);
map.put("name", "sherry");

Map data = new HashMap();
data.put("data", map);
data.put("success", true);

JSONObject.fromObject(data).write(response.getWriter());

0 请登录后投票
   发表时间:2009-12-31  
传一个List<bean>进去,不就可以了吗?干嘛搞那么复杂!
0 请登录后投票
   发表时间:2010-01-01  
为什么要写这么个servlet呀?有什么特别的吗?
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics