我有一个servlet,我从ajax(jquery)调用中发布数据。
$('form').submit(function() {
var URL = "ProjectHandler";
var dataString=$(this).serialize();
$.ajax({
type: "POST",
url: URL,
data: dataString,
// dataType: json,
success: function(data)
{
alert(data.error);
}
});
return false;
});
我已经注释了dataType因为当我取消注释它时,它没有进行ajax调用,而是使用默认模式提交表单,即加载了servlet
JAR我已添加到项目中1. json-lib-2.2.2-jdk15.jar 2. apache-commons-lang.jar 3. ezmorph-1.0.jar
首先它抛出异常filenotfound,它是apache-commons包的一部分,所以包括apache commons,之后我得到了filenotfound的异常,它是ezmorph-1.0.jar的一部分,所以我也加了。现在我正在
java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
servlet doPost中的代码:
response.setContentType("application/json");
PrintWriter out = response.getWriter();
JSONObject json = new JSONObject();
json.put("error", true);
json.put("errorDesc", "wrong title");
out.print(json);
我希望我已经清除了这个场景,任何帮助都会受到赞赏。
由于
答案 0 :(得分:1)
看起来你错过了commons-logging.jar。将它添加到类路径中。
答案 1 :(得分:0)
你能丢掉json-lib吗?如果是的话!老实说,没有理由使用这个库......它需要你添加大量的依赖项才能证明它。
我建议您尝试Genson库http://code.google.com/p/genson/。它具有易于使用但功能强大,可扩展,一体化且快速的优点。 它允许你直接反序列化/序列化为pojos,不需要使用所有这些JsonObject / Arrays ...如果你需要一些接近手动json的东西,你也可以直接使用它的流API。