"javax.servlet.ServletException: request or response without HTTP" in JBoss

My jboss throws an indescribable error while trying to run my application (spring mvc). It deploys normally, and this exception does not tell me anything useful, so I don’t know what to do. I can not debug, I can not do anything:

  13: 00: 01,262 INFO [ServerImpl] JBoss (Microcontainer) [5.1.0.GA (build: SVNTag = JBoss_5_1_0_GA date = 200905221053)] Started in 2m: 13s: 790ms

 ** Started successfully **

When the application starts from the browser, this happens:

13:00:09,456 ERROR [[appServlet]] Servlet.service() for servlet appServlet threw exception javax.servlet.ServletException: non-HTTP request or response at javax.servlet.http.HttpServlet.service(HttpServlet.java:818) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) 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:235) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190) at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92) at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126) at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:619) 
+7
source share
3 answers

This is thrown into the HttpServlet.service(ServletRequest, ServletResponse) when parameters cannot be added to the HttpServletRequest and HttpServletResponse respectively.

This means one of two things:

  • parameters of the wrong type (unlikely) or
  • Some filter uses an incorrect copy of these types loaded with the wrong classloader (for example, if you are delivering your own copy of servlet-api-xxjar using your web application).
+11
source

Try removing the servlet-api-jar from your WAR file.

+4
source

If you are using Maven, you can simply set the scope of servlet-api to provided .

+1
source

All Articles