使用Tomcat訪問任何JSP頁面都報NullPointerException的問題

這個題目可夠長的。。不過內容很簡短。。
今天在做頁面的時候,訪問所有的JSP頁面都會報NullPointerException,實在看不出那裏有錯。於是在網海搜來搜去,最終得到了下面的解決方法。

這是頁面報的錯誤信息:

org.apache.jasper.JasperException: java.lang.NullPointerException
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:522)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:356)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:413)

root cause
java.lang.NullPointerException
org.apache.jsp.login_jsp._jspInit(login_jsp.java:31)
org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:52)
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:159)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:413)

 

解決方法:
刪掉你工程lib下的jsp-api.jar,如果問題依舊,那就連工程下的servlet-api.jar也一起刪掉。
如果工程要引用這兩個jar文件,可以從放在別的文件夾,然後導入工程。
如果這樣解決不了你的問題,可以去apache tomcat的安裝目錄下的work文件夾,找我在錯誤信息中用藍色標示出的那行括號裏的java文件,

 

原因是:WEB-INF/lib目錄下的jsp-api.jar包與tomcat有衝突。
總結:出現NullPointerException原因很多,除了程序本身的問題,不彷考慮下是不是包衝突。本來前面有出現過包衝突的問題,居然沒能聯想一下。思維要開闊點。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章