??? 在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
?
?
1 楼
dieslrae
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());
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());
2 楼
zhonggeneral
2009-12-31
传一个List<bean>进去,不就可以了吗?干嘛搞那么复杂!
3 楼
daxiong921
2010-01-01
为什么要写这么个servlet呀?有什么特别的吗?