java后台服务器向手机端返回Json, 使用 "net.sf.json.JSONObject" 解析出现的异常问题

<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

然后可以查询到相应的解决方法

如果这篇文章对你有帮助,你遇到问题并解决时可以把解决方案发上来



 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值