0

当我尝试在我的 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.了一个星期以来我被困在这里。请帮帮我。

4

0 回答 0