servlet使用json案例,提供jar文件下载

来源:互联网 发布:修改mac地址的软件 编辑:程序博客网 时间:2024/05/16 05:36

(1)在Java中正确得到JSONObject,需要导入JSON的JAVA支持包“json-lib-2.3-jdk15.jar”,同时需导入 JSON依赖包“commons-logging-1.0.4.jar”,“commons-lang.jar”,“commons- collections.jar”,“commons-beanutils.jar”,“ezmorph-1.0.4.jar”; 

这几个包使用baidu,在csdn网站下面直接可以下载,但是需要积分。这里为了方便大家,我打包把这些jar文件放到我的百度云盘中(http://pan.baidu.com/s/1eQe52SE),各位只要下载好放在web项目下的lib文件夹就可以使用了。


(2)在Servlet中使用JSON代码如下

package com;


import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.sql.*;
import net.sf.json.*;
import net.sf.json.util.*;






@WebServlet(name="test", urlPatterns={"/test"})
public class TestServlet extends HttpServlet 
{
private static final long serialVersionUID = 1L;
private static final int NAME_CODE_RIGHT = 0;
private static final int CODE_WRONG = 1;
private static final int NAME_WRONG = 2;


public TestServlet() {

}


protected void doGet(HttpServletRequest req, HttpServletResponse resp) 
throws ServletException, IOException{
if (req == null) {
return;
}

/*
resp.setContentType("text/html; charset=uft-8");
req.setCharacterEncoding("utf-8");
resp.setCharacterEncoding("utf-8");
PrintWriter out = resp.getWriter();
String name = req.getParameter("name");
String code = req.getParameter("code");


int ret = checkSubmit(name, code);
out.print(ret);
out.flush();
out.close();*/


resp.setContentType("text/json; charset=utf-8");
String name = req.getParameter("name");
String code = req.getParameter("code");


int ret = checkSubmit(name, code);
JSONStringer stringer = new JSONStringer();
stringer.object();
stringer.key("result");
stringer.value(ret);
stringer.endObject();


resp.getOutputStream().write(stringer.toString().getBytes("utf-8"));
System.out.println(stringer.toString().getBytes("utf-8"));

}

protected void doPost(HttpServletRequest req, HttpServletResponse resp) 
throws ServletException, IOException {
doGet(req, resp);
}


private int checkSubmit(String name, String code) {
int ret = -2;
if (name.equals("admin")) {
if (code.equals("123")) {
ret = NAME_CODE_RIGHT;
}
else {
ret = CODE_WRONG;
}
}
else {
ret = NAME_WRONG;
}


return ret;
}
}

(3)如果手动编译java文件,需要使用如下命令

javac -Djava.ext.dirs=./lib

因为JSON的包都放在了web-inf/lib下,在windows使用cmd首先要回到web-inf目录,加入我的java文件放在classes/com/TestServlet.java,因此这时编译的指令是javac -Djava.ext.dirs=./lib classes/com/TestServlet.java

这样java文件就会编译在与java文件同一目录下。

  

0 0
原创粉丝点击