No bites on that one either.  Here's another question along the same
lines...

Are the following equivalent:

config.getServletContext().getRequestDispatcher("/test.jsp").forward(req
uest,response);

  and

<jsp:forward page="test.jsp">

-----Original Message-----
From: Robert Winningham 
Sent: Monday, January 28, 2002 8:33 AM
To: [EMAIL PROTECTED]
Subject: 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:
<mailto:[EMAIL PROTECTED]>
For additional commands, e-mail:
<mailto:[EMAIL PROTECTED]>


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to