You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by Robert Winningham <Ro...@rayberndtson.com> on 2002/01/28 15:32:30 UTC
IllegalStateException
I am experiencing a problem in Tomcat v4.0.1 that did not exist in
v3.2.x. Last week, I ported a web application from v3.2.3 to v4.0.1,
and I noticed that the logs grew very rapidly. It seemed that every
time a user would access a .jsp page, an IllegalStateException would be
thrown. I narrowed the problem down to very simple test case which is
listed below. To make a long story short, one .jsp page forward the
request and response to another .jsp page which outputs html. This
combination is causing the error. I am curious why Tomcat is now
behaving this way, as it did not do so in previous releases. Is this
behavior by design or am I misinterpretting the use of forwarding?
Thank you for any help that anyone may provide
//r
Here is a very simple test case:
<!-- First page forwards to a second -->
<%@ page %>
<%
config.getServletContext().getRequestDispatcher("/test.jsp").forward(req
uest,response);
%>
<!-- Second page just outputs HTML -->
<%@ page %>
<HTML>
<HEAD>
<TITLE>
Test
</TITLE>
</HEAD>
<BODY>
<H1>Test</H1>
</BODY>
</HTML>
When I access the first page, I recieve the following error:
2002-01-25 10:53:02 jsp: init
2002-01-25 10:53:02 StandardWrapperValve[jsp]: Servlet.service() for
servlet jsp threw exception
java.lang.IllegalStateException
at org.apache.catalina.connector.ResponseFacade.getWriter
(ResponseFacade.java:159) (pc 11)
at org.apache.jasper.runtime.JspWriterImpl.initOut
(JspWriterImpl.java:166) (pc 12)
at org.apache.jasper.runtime.JspWriterImpl.flushBuffer
(JspWriterImpl.java:158) (pc 39)
at org.apache.jasper.runtime.JspWriterImpl.flush
(JspWriterImpl.java:205) (pc 8)
at org.apache.jasper.runtime.PageContextImpl.release
(PageContextImpl.java:176) (pc 24)
at
org.apache.jasper.runtime.JspFactoryImpl.internalReleasePageContext
(JspFactoryImpl.java:198) (pc 1)
at org.apache.jasper.runtime.JspFactoryImpl.releasePageContext
(JspFactoryImpl.java:193) (pc 32)
at org.apache.jsp.testforward$jsp._jspService
(testforward$jsp.java:75) (pc 213)
at org.apache.jasper.runtime.HttpJspBase.service
(HttpJspBase.java:107) (pc 3)
at
javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest,java
x.servlet.ServletResponse) (HttpServlet.java:853) (pc 30)
at
org.apache.jasper.servlet.JspServlet$JspServletWrapper.service
(JspServlet.java:199) (pc 33)
at org.apache.jasper.servlet.JspServlet.serviceJspFile
(JspServlet.java:382) (pc 60)
at org.apache.jasper.servlet.JspServlet.service
(JspServlet.java:474) (pc 326)
at
javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest,java
x.servlet.ServletResponse) (HttpServlet.java:853) (pc 30)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:247) (pc 248)
at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:193) (pc 98)
at org.apache.catalina.core.StandardWrapperValve.invoke
(StandardWrapperValve.java:243) (pc 352)
at org.apache.catalina.core.StandardPipeline.invokeNext
(StandardPipeline.java:566) (pc 87)
at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:472) (pc 18)
at org.apache.catalina.core.ContainerBase.invoke
(ContainerBase.java:943) (pc 6)
at org.apache.catalina.core.StandardContextValve.invoke
(StandardContextValve.java:201) (pc 261)
at org.apache.catalina.core.StandardPipeline.invokeNext
(StandardPipeline.java:566) (pc 87)
at org.apache.catalina.valves.CertificatesValve.invoke
(CertificatesValve.java:246) (pc 48)
at org.apache.catalina.core.StandardPipeline.invokeNext
(StandardPipeline.java:564) (pc 55)
at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:472) (pc 18)
at org.apache.catalina.core.ContainerBase.invoke
(ContainerBase.java:943) (pc 6)
at org.apache.catalina.core.StandardContext.invoke
(StandardContext.java:2344) (pc 26)
at org.apache.catalina.core.StandardHostValve.invoke
(StandardHostValve.java:164) (pc 99)
at org.apache.catalina.core.StandardPipeline.invokeNext
(StandardPipeline.java:566) (pc 87)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke
(ErrorDispatcherValve.java:170) (pc 3)
at org.apache.catalina.core.StandardPipeline.invokeNext
(StandardPipeline.java:564) (pc 55)
at org.apache.catalina.valves.ErrorReportValve.invoke
(ErrorReportValve.java:170) (pc 3)
at org.apache.catalina.core.StandardPipeline.invokeNext
(StandardPipeline.java:564) (pc 55)
at org.apache.catalina.valves.AccessLogValve.invoke
(AccessLogValve.java:462) (pc 3)
at org.apache.catalina.core.StandardPipeline.invokeNext
(StandardPipeline.java:564) (pc 55)
at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:472) (pc 18)
at org.apache.catalina.core.ContainerBase.invoke
(ContainerBase.java:943) (pc 6)
at org.apache.catalina.core.StandardEngineValve.invoke
(StandardEngineValve.java:163) (pc 92)
at org.apache.catalina.core.StandardPipeline.invokeNext
(StandardPipeline.java:566) (pc 87)
at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:472) (pc 18)
at org.apache.catalina.core.ContainerBase.invoke
(ContainerBase.java:943) (pc 6)
at org.apache.catalina.connector.http.HttpProcessor.process
(HttpProcessor.java:1011) (pc 363)
at org.apache.catalina.connector.http.HttpProcessor.run
(HttpProcessor.java:1106) (pc 14)
at java.lang.Thread.run (Thread.java:484) (pc 11)
Here's a code snippet where the error is occurring...
} catch (Throwable t) {
if (out != null && out.getBufferSize() != 0)
out.clearBuffer();
if (pageContext != null) pageContext.handlePageException(t);
} finally {
>>> Line 75 if (_jspxFactory != null)
_jspxFactory.releasePageContext(pageContext); <<<
}
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>
Re: IllegalStateException
Posted by Jun Inamori <ju...@oop-reserch.com>.
Hi Robert,
> Here is a very simple test case:
>
> <!-- First page forwards to a second -->
> <%@ page %>
>
> <%
>
> config.getServletContext().
> getRequestDispatcher("/test.jsp").
> forward(request,response);
> %>
Please try:
config.getServletContext().
getRequestDispatcher("/test.jsp").
forward(request,response);
return;
Best regards,
--
Happy Java programming!
Jun Inamori
OOP-Reserch
E-mail: jun@oop-reserch.com
URL: http://www.oop-reserch.com/
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>