我正在使用Tomcat6中的Spring3、JSF2和Primefaces3开发一个web应用程序...如果我使用的是Firefox,我的应用程序就能正常工作。如果我也在IE8下运行应用程序,我会得到如下所示的异常堆栈。这非常奇怪,因为如果有一些不兼容的问题,我会期待一些视觉错误,而不是apache tomcat抛出的东西……
异常堆栈:
SEVERE: An exception or error occurred in the container during the request processing
java.lang.NullPointerException
at org.apache.tomcat.util.http.MimeHeaders.setValue(MimeHeaders.java:267)
at org.apache.coyote.http11.Http11Processor.prepareResponse(Http11Processor.java:1558)
at org.apache.coyote.http11.Http11Processor.action(Http11Processor.java:956)
at org.apache.coyote.Response.action(Response.java:183)
at org.apache.coyote.Response.sendHeaders(Response.java:379)
at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:314)
at org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:296)
at org.apache.catalina.connector.Response.flushBuffer(Response.java:549)
at org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:272)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
at com.googlecode.psiprobe.Tomcat60AgentValve.invoke(Tomcat60AgentValve.java:30)
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:291)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:619)
Nov 14, 2011 10:27:05 AM org.apache.coyote.http11.Http11Processor process
SEVERE: Error finishing response
java.lang.NullPointerException
at org.apache.tomcat.util.http.MimeHeaders.setValue(MimeHeaders.java:267)
at org.apache.coyote.http11.Http11Processor.prepareResponse(Http11Processor.java:1558)
at org.apache.coyote.http11.Http11Processor.action(Http11Processor.java:956)
at org.apache.coyote.Response.action(Response.java:181)
at org.apache.coyote.http11.InternalOutputBuffer.endRequest(InternalOutputBuffer.java:398)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:901)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:619)
Nov 14, 2011 10:27:05 AM org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler process
SEVERE: Error reading request, ignored
java.lang.NullPointerException
at org.apache.tomcat.util.http.MimeHeaders.clear(MimeHeaders.java:130)
at org.apache.coyote.Response.recycle(Response.java:579)
at org.apache.coyote.http11.InternalOutputBuffer.nextRequest(InternalOutputBuffer.java:368)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:923)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:619)和
SEVERE: Servlet.service() for servlet Faces Servlet threw exception
javax.servlet.ServletException: OncePerRequestFilter just supports HTTP requests
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:62)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at creazione.exception.MyFilter.doFilter(MyFilter.java:50)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
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 com.googlecode.psiprobe.Tomcat60AgentValve.invoke(Tomcat60AgentValve.java:30)
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:291)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:619)PS:我还添加了JSF、Spring和Primefaces作为标签,因为这可能是一个不兼容的问题。
编辑:
aopalliance-1.0.jar
asm-1.5.1.jar
aspectj-1.6.3.jar
aspectjrt-1.6.0.jar
aspectjweaver.jar
commons-dbcp-1.4.jar
commons-fileupload-1.2.2.jar
commons-io-2.0.1.jar
commons-net-1.4.1.jar
commons-pool-1.5.6.jar
jakarta-oro-2.0.8.jar
javax.jms.jar
jndi.jar
oracle10g.jar
SPRING 3.0.6 library
primefaces-3.0.M4.jar
hibernate-persistence library
JSF2.1.4 (but I've changed back to jsf2.1.3)
jstl 11 library
junit lib
junit_4 lib自从我改回jsf 2.1.3后,IE上的行为略有改变:有时页面显示,但按钮冻结,有时组件呈现混乱,有时我收到HTTP 404错误-非常奇怪!
发布于 2011-11-14 22:53:38
从您的/WEB-INF/lib列表中:
Jsfjsf2.1.4(但我已经改回
2.1.3)
Mojarra2.1 requires是Servlet3.0容器,而Tomcat6.0是Servlet2.5容器。你需要Mojarra 2.0 (或者你需要升级到Tomcat 7.0)。虽然这仍然不能解释你得到的异常(据我所见),但我建议将其对齐,以排除其中的一个和另一个。
至于具体的异常,它们表明您的webapp的运行时类路径中堆满了来自不同Tomcat版本的特定于Tomcat的核心库。webapp的运行时类路径涵盖了Webapp/WEB-INF/lib、Tomcat/lib、Tomcat shared/common、JRE/lib和JRE/lib/ext等。例如,如果您在Tomcat/lib以外的任何位置上有一些servlet-api.jar、jsp-api.jar或其他任何东西,则应该将其删除。
https://stackoverflow.com/questions/8119143
复制相似问题