当我尝试在我的 servlet 中访问 JSONObject 时,我的项目中出现以下错误。
我的 servlet 代码是,
package org.java.test;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
@WebServlet("/HelloWorld")
public class HelloWorld extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public HelloWorld() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
String username = request.getParameter("usernameTxt");
String password = request.getParameter("passwordTxt");
response.setContentType("application/json");
PrintWriter out = response.getWriter();
JSONObject obj = new JSONObject();
try {
obj.put("name", "foo");
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
out.print(obj);
out.flush();
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().println("HelloWorld");
}
}
我的html代码也是,
<html>
<head>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<script type="text/javascript" >
$(function(){
$("#submitBtn").click(function(){
var inputdata = {
usernameTxt : $("#usernameTxt").val() ,
passwordTxt: $("#passwordTxt").val()
};
$.ajax( {
url : 'HelloWorld',
type : 'GET',
data : inputdata,
dataType : 'json',
success: function(data) {
$('#hi').text(data.username);
$('#hi2').text(data.password);
}
});
});
});
</script>
</head>
<body>
<input type="text" id="usernameTxt" placeholder="Username" > <br/>
<input type="text" id="passwordTxt" placeholder="Password" > <br/>
<input type="button" id="submitBtn" value="Login" > <br/>
<div id="hi"></div>
<div id="hi2"></div>
</body>
</html>
我的详细错误是,
严重:子容器在启动期间失败 java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: 无法启动组件 [StandardEngine[Catalina].StandardHost[localhost]] 在 java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:252) 在 java.util.concurrent.FutureTask.get(FutureTask.java:111) 在 org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123) 在 org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:302) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 在 org.apache.catalina.core.StandardService.startInternal(StandardService.java:443) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 在 org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:732) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 在 org.apache.catalina.startup.Catalina.start(Catalina.java:684) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:601) 在 org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:322) 在 org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:456) 原因:org.apache.catalina.LifecycleException:无法启动组件 [StandardEngine[Catalina].StandardHost[localhost]] 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) 在 org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) 在 org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) 在 java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) 在 java.util.concurrent.FutureTask.run(FutureTask.java:166) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 在 java.lang.Thread.run(Thread.java:722) 原因:org.apache.catalina.LifecycleException:子容器在启动期间失败 在 org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1131) 在 org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:800) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ... 7 更多 2013 年 6 月 30 日晚上 9:15:41 org.apache.catalina.startup.Catalina 开始 严重:Catalina.start: org.apache.catalina.LifecycleException:无法启动组件 [StandardServer[8005]] 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) 在 org.apache.catalina.startup.Catalina.start(Catalina.java:684) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:601) 在 org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:322) 在 org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:456) 原因:org.apache.catalina.LifecycleException:无法启动组件 [StandardService[Catalina]] 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) 在 org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:732) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ... 7 更多 原因:org.apache.catalina.LifecycleException:无法启动组件 [StandardEngine[Catalina]] 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) 在 org.apache.catalina.core.StandardService.startInternal(StandardService.java:443) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ... 9 更多 原因:org.apache.catalina.LifecycleException:子容器在启动期间失败 在 org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1131) 在 org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:302) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ... 11 更多 2013 年 6 月 30 日晚上 9:15:41 org.apache.catalina.startup.Catalina 开始 信息:服务器在 665 毫秒内启动
我已经添加Commons-logging-1.1.1.jar.
了一个星期以来我被困在这里。请帮帮我。