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

(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文件同一目录下。

  

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值