org.apache.jsp.index_jsp._jspInit中的java.lang.NullPointerException

当我尝试运行部署在tomcat中的项目时,我得到的错误就像

java.lang.NullPointerException at org.apache.jsp.index_jsp._jspInit(index_jsp.java:23) at org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:52) at org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:159) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859) at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579) at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1555) at java.lang.Thread.run(Thread.java:619) 

我已经搜索过这个并发现它可能是servlet-api.jar和jsp-api.jar的问题,但是我已经将它们从tomcat复制到我的项目的类路径仍然我得到了同样的错误。

Jsp:

      <base href=""> My JSP 'index.jsp' starting page      <!--  -->   <%--Click Here --%>   

classpath包含以下jar列表

 antlr-2.7.6 commons-beanutils commons-collections commons-collections-3.1 commons-digester commons-logging commons-logging-1.1 dom4j-1.6.1 ejb3-persistence hibernate3 hibernate-annotations hibernate-commons-annotations icefaces-1.8.2 icefaces-comps-1.8.2 javassist-3.9.0.GA jsf-api jsf-facelets jsf-impl mysql-connector-java-3.1.8-bin slf4j-api-1.5.11 slf4j-simple-1.5.11 

我已经搜索过这个,发现它可能是servlet-api.jar和jsp-api.jar的问题,但是我已经将它们从tomcat复制到了我的项目的类路径

看起来你误解了答案。 将它们放在webapp的运行时类路径(WEB-INF / lib)中导致此问题的全部原因! 摆脱它们。

servletcontainer本身已经随附了这些库。 从可能不同的品牌/版本的任意容器提供随机下载的库以及webapp只会导致这种问题。 如果你这样做是为了“修复”webapp项目中的编译错误,那么你应该以不同的方式解决它。 请参阅以下链接了解具体方法:

也可以看看:

  • org.apache.jsp.foo_jsp._jspInit(foo_jsp.java:22)中的java.lang.NullPointerException
  • 如何在Eclipse项目中导入javax.servlet API?