您的位置:首页 > Web前端 > JavaScript

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

2015-11-14 17:21 561 查看
(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文件同一目录下。

  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: