使用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原因很多,除了程序本身的问题,不彷考虑下是不是包冲突。本来前面有出现过包冲突的问题,居然没能联想一下。思维要开阔点。

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