0

私は私のdoGetを次のように持っています:

protected void doGet(HttpServletRequest request, 
        HttpServletResponse response)
        throws IOException, ServletException{


    String resourceIDstr = request.getParameter("ResourceID");
    int resourceID = Integer.valueOf(resourceIDstr);

    Resource resourceToLend  =  ResourceModule.getInstance()
                                .getResourceByID(Integer.valueOf(resourceID));



    request.setAttribute("resourceToLent", resourceToLend);

    request.setAttribute("innerTab", "LendResource.jsp");
    getServletConfig().getServletContext()
                    .getRequestDispatcher("/WEB-INF/jsp/admin/resourcelend.jsp")
                    .forward(request, response);
}

GETリクエストをこのサーブレットに転送するときはいつでも、リクエストをJSPに転送せず、代わりに次のように例外をスローします。

HTTP Status 500 - org.apache.jasper.JasperException: 
java.lang.NullPointerException

奇妙なことに、この特定のJSPは他のサーブレットによって問題なく使用されており、この特定のサーブレットは例外をスローします。例外の考えられる原因を見つけようとしています。

前もって感謝します。

アップデート:

org.apache.jasper.JasperException: org.apache.jasper.JasperException: java.lang.NullPointerException
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:549)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:455)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
servlet.TempResourceLendServlet.doGet(TempResourceLendServlet.java:37)
javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

root cause

org.apache.jasper.JasperException: java.lang.NullPointerException
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:549)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:470)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:954)
org.apache.jsp.WEB_002dINF.jsp.admin.resourcelend_jsp._jspService(resourcelend_jsp.java:114)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
servlet.TempResourceLendServlet.doGet(TempResourceLendServlet.java:37)
javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

root cause

java.lang.NullPointerException
org.apache.jsp.WEB_002dINF.jsp.admin.LendResource_jsp._jspService(LendResource_jsp.java:84)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:954)
org.apache.jsp.WEB_002dINF.jsp.admin.resourcelend_jsp._jspService(resourcelend_jsp.java:114)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
servlet.TempResourceLendServlet.doGet(TempResourceLendServlet.java:37)
javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
4

1 に答える 1

3

asgoth が言うように、サーブレットではなく、質問で jsp を提供する必要があります。

また、根本原因のスタックトレースには次の行が含まれています

org.apache.jsp.WEB_002dINF.jsp.admin.resourcelend_jsp._jspService(resourcelend_jsp.java:114)

これは、jsp が変換した、自動的に作成されたサーブレットを指します。これは tomcat の作業フォルダにあります。これは Java コードを自動生成するため、いくつかのマッピング作業を行う必要がありますが、jsp で 114 行目が何を参照しているかは、多かれ少なかれ自明であるはずです。これにより、自分自身の根本原因を見つけることができます。(最後にこれらのファイルを見たとき、同等の jsp コードを参照するコメントがいくつかありました)

于 2013-01-13T22:44:13.740 に答える