<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">最近写一个Android小程序,让室友练习一下Android的客户端网络请求与Json解析</span>
用最简单的JavaWEb项目使用Servlet与tomcat做服务器
这是默认的返回对象 存返回码 和 返回消息 的Model类
package com.json.test.json;
public class ReturnBaseDefault {
/** 这是返回码的信息 0标示通过 1标示失败 2标示其它错误 */
private String flag;
/** 这是返回消息提示 成功提示 或 错误提示*/
private String message;
public String getFlag() {
return flag;
}
public void setFlag(String flag) {
this.flag = flag;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
这是处理请求的Servlet类
---------------------------------------------------------
package com.json.test.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.sf.json.JSONObject;
import com.json.test.json.ReturnBaseDefault;
public class HelpServlet extends HttpServlet {
private static final long serialVersionUID = 8061326178186108919L;
/**
* Constructor of the object.
*/
public HelpServlet() {
super();
}
/**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setContentType("application/json;charset=UTF-8");
String id = request.getParameter("id");
PrintWriter out = response.getWriter();
ReturnBaseDefault returndefalut = new ReturnBaseDefault();
// net.sf.json.JSONObject; 类要使用必须要用到的jar包缺少将会报异常
/**
* commons-lang.jar
* commons-beanutils.jar
* commons-collections.jar
* commons-logging.jar
* ezmorph.jar
* json-lib-2.2.2-jdk15.jar
*/
/**
* 0 请求成功
* 1 请求失败
*
*/
if (id == null || id.equals("")) {
returndefalut.setFlag("1");
returndefalut.setMessage("请求数据为空");
String string = JSONObject.fromObject(returndefalut).toString();
out.write(string);
}else {
// CategoryService service = new CategoryService();
// int cid = Integer.valueOf(id);
// Category categoryById = service.getCategoryById(cid);
}
}
public void init() throws ServletException {
// Put your code here
}
}
// net.sf.json.JSONObject; 类要使用必须要用到下面的jar包缺少将会报异常
// 备注:包的版本可以不一样
/**
* commons-lang.jar
* commons-beanutils.jar
* commons-collections.jar
* commons-logging.jar
* ezmorph.jar
* json-lib-2.2.2-jdk15.jar
*/
异常
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
八月 20, 2015 10:01:57 下午 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet HelpServlet threw exception
<span style="color:#ff0000;">java.lang.ClassNotFoundException: org.apache.commons.lang.exception.NestableRuntimeException</span>
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1645)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1491)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2733)
at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1124)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1612)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1491)
at com.json.test.servlet.HelpServlet.doPost(HelpServlet.java:65)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:722)
如果出现类似异常 可以检查一个jar包是否缺少
//排除bug
你可以根据这个异常在百度里面搜索
org.apache.commons.lang.exception.NestableRuntimeException
然后可以查询到相应的解决方法
如果这篇文章对你有帮助,你遇到问题并解决时可以把解决方案发上来