2010-04-16 97 views
5

我在jsp中得到一個空指針異常,我想找出哪一行有null變量,所以我可以修復它。有沒有簡單的方法來做到這一點? printStackTrace似乎沒有給我任何相關信息。如何獲取有關JSP中NullPointerException的詳細信息?

堆棧跟蹤:

java.lang.NullPointerException 
    at org.apache.jsp.data.index2_jsp._jspService(index2_jsp.java:176) 
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) 
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331) 
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329) 
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) 
    at sun.reflect.GeneratedMethodAccessor103.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Method.java:616) 
    at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:244) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at javax.security.auth.Subject.doAsPrivileged(Subject.java:537) 
    at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:276) 
    at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:262) 
    at org.apache.catalina.core.ApplicationFilterChain.access$0(ApplicationFilterChain.java:192) 
    at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:171) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:167) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) 
    at org.apache.catalina.co 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) 
    at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:420) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151) 
    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) 
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) 
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) 
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) 
    at java.lang.Thread.run(Thread.java:636) 
+1

您應該編輯您的問題以包含堆棧跟蹤的輸出 – 2010-04-16 23:15:40

回答

7

它不漂亮,但你可以去到工作目錄,找到指定的Java文件(轉換的JSP),看看操作是在指定線路什麼。一般來說,Tomcat將保留生成的servlet的源代碼,除非配置爲不。它至少應該幫助您找到錯誤點或相應的JSP行。

希望這會有所幫助。

相關問題