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

Reply via email to