Hi, First of all, I'm using Tomcat 6.0.29 (the latest as of September 2010), Struts and other technologies not relevant here.
My website runs fine 99% of the time, but several times per day I get an error in my Tomcat Log, so it is an sporadic issue. I don't know the reason. My code is separated in model/view/controller, given that I'm using Struts, so my code has been correctly separated in layers. This error happens in several JSP pages. As far as I can understand, Tomcat generates a Java class (a servlet) for every JSP (well, everybody know that I guess). When my problem arrises, an exception is being thrown when the corresponding generated servlet tries to run the "_jspService()" method that uses a lot of "out.write()" methods to send the output to the response. An exception is being thrown for some reason, and then my log gets the error trace. Anybody knows what is going on? What does "response has been commited" mean? I have a theory: Maybe it means that in the java code that the container generated for my JSP, at least one "out.write()" method has already been used, which means that "It already has started to send html code to the browser". Am I right? Again, this is a sporadic issue, which drives me crazy! This is the error in the log: ---------------------------------------------------------------------------- --------------------------------------- Sep 21, 2010 3:18:42 PM org.apache.jasper.runtime.JspFactoryImpl internalGetPageContext SEVERE: Exception initializing page context java.lang.IllegalStateException: Cannot create a session after the response has been committed <------------Which session is my code creating? where? Why is this sporadic? at org.apache.catalina.connector.Request.doGetSession(Request.java:2377) at org.apache.catalina.connector.Request.getSession(Request.java:2097) at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:83 3) at javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWr apper.java:216) at org.apache.catalina.core.ApplicationHttpRequest.getSession(ApplicationHttpRe quest.java:547) at javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWr apper.java:216) at org.apache.catalina.core.ApplicationHttpRequest.getSession(ApplicationHttpRe quest.java:547) at javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWr apper.java:216) at org.apache.catalina.core.ApplicationHttpRequest.getSession(ApplicationHttpRe quest.java:547) at org.apache.catalina.core.ApplicationHttpRequest.getSession(ApplicationHttpRe quest.java:493) at org.apache.jasper.runtime.PageContextImpl._initialize(PageContextImpl.java:1 46) at org.apache.jasper.runtime.PageContextImpl.initialize(PageContextImpl.java:12 4) at org.apache.jasper.runtime.JspFactoryImpl.internalGetPageContext(JspFactoryIm pl.java:107) at org.apache.jasper.runtime.JspFactoryImpl.getPageContext(JspFactoryImpl.java: 63) at org.apache.jsp.WEB_002dINF.pages.utility.Error_jsp._jspService(Error_jsp.jav a:49) <-------------- This is the JSP page where all my JSP pages redirect when something goes wrong at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:3 77) 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(Application FilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:206) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher. java:646) at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatch er.java:551) at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher .java:488) at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:9 68) at org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:621) at org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextI mpl.java:820) at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImp l.java:791) at org.apache.jsp.WEB_002dINF.pages.ProductsForModel_jsp._jspService(ProductsFo rModel_jsp.java:1137) <------- In this case, the problem happened in my page "ProductsForModel.jsp" at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:3 77) 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(Application FilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:206) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher. java:646) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDis patcher.java:436) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatch er.java:374) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher .java:302) at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:10 56) at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProces sor.java:388) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:231) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164) at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397) at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:206) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher. java:646) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDis patcher.java:436) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatch er.java:374) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher .java:302) at com.zlatkovic.HttpRedirectFilter.doFilter(HttpRedirectFilter.java:229) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja va:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja va: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.valves.AccessLogValve.invoke(AccessLogValve.java:555) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java :109) at org.apache.catalina.valves.RequestFilterValve.process(RequestFilterValve.jav a:276) at org.apache.catalina.valves.RemoteAddrValve.invoke(RemoteAddrValve.java:81) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http 11Protocol.java:588) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Thread.java:619) ---------------------------------------------------------------------------- --------------------------------------- --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org