You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Bronwen Cassidy <Br...@jacobsrimell.com> on 2002/07/23 10:46:29 UTC

RE: help please with error-page?

Some strange things seem to be happening, and i would be gratefull for any
pointers. I am using Tomcat standalone version 4.0.4 on windows2K and also
the same running on solaris 8. I am using web-app_2_3.dtd, i have one filter
(an XSLTFilter), the app uses struts and everything works as it should
except for the <welcome-file-list>, the <error-page> tags, and if any errors
occur.

The jsp's are xml-jsps which then are transformed using the xsltfilter.

After starting tomcat i navigate to http://localhost:8080/myapp/ and expect
to see the login.jsp which is not in the top level but under myapp/jsps, i
have tried in my <welcome-file-list><welcome-file> variations of
jsps/login.jsp, /jsps/login.jsp, myapp/jsps/login.jsp,
/myapp/jsps/login.jsp, and out of desperation
http://localhost:8080/myapp/jsps/login.jsp

The results of the above attempts are
1) the file listing of the myapp directory
2)this exception:

ApplicationDispatcher[/csrtool] Servlet.service() for servlet jsp threw
exception
java.lang.IllegalStateException: getOutputStream() has already been called
for this response
	at
org.apache.catalina.connector.ResponseBase.getWriter(ResponseBase.java:750)
	at
org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.java:1
65)
	at
org.apache.jasper.runtime.JspWriterImpl.initOut(JspWriterImpl.java:166)
	at
org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.java:158)
	at
org.apache.jasper.runtime.JspWriterImpl.flush(JspWriterImpl.java:205)
	at
org.apache.jasper.runtime.PageContextImpl.release(PageContextImpl.java:177)
	at
org.apache.jasper.runtime.JspFactoryImpl.internalReleasePageContext(JspFacto
ryImpl.java:198)
	at
org.apache.jasper.runtime.JspFactoryImpl.releasePageContext(JspFactoryImpl.j
ava:193)
	at org.apache.jsp.ioerror$jsp._jspService(ioerror$jsp.java:91)
	at
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at
org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.ja
va:201)
	at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:381)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:473)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.
java:683)
	at
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatch
er.java:431)
	at
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher
.java:355)
	at
org.apache.catalina.valves.ErrorDispatcherValve.custom(ErrorDispatcherValve.
java:391)
	at
org.apache.catalina.valves.ErrorDispatcherValve.throwable(ErrorDispatcherVal
ve.java:250)
	at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.
java:178)
	at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
64)
	at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170
)
	at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
64)
	at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468)
	at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
64)
	at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
	at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
	at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:174)
	at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
66)
	at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
	at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
	at
org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:
1027)
	at
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1125
)
	at java.lang.Thread.run(Thread.java:484)

I get the same errors for the <error-page> link??? and feel the problem is
the same. I have a slave driver tester who insists on copy and pasting urls
which will cause nullPointerExceptions, though i have the <%@ page
language="java" errorPage="../error.jsp"%> and have 

<error-page>
	<error-code>500</error-code>
	<location>/jsps/error500.jsp</location>
  </error-page>
  
  <error-page>
	<exception-type>java.io.IOException</exception-type>
	<location>/jsps/ioerror.jsp</location>
  </error-page>
  
  <error-page>
  	<exception-type>java.lang.NullPointerException</exception-type>
  	<location>/jsps/nullerror.jsp</location>
  </error-page>

defined in web.xml i always get the Apache Tomcat/4.0.4 - HTTP Status 500 -
Internal Server Error page with the above exception in the logs and
java.io.IOException: The stream has been closed
	at
org.apache.catalina.connector.ResponseStream.flush(ResponseStream.java:237)
on the tomcat error page

instead of one of the error pages i have defined, either the error.jsp or
the ones defined in the web.xml??
I have tried try/catch around anything obtained from the session, with 1)a
<jsp:forward> in the catch, and then just a sys.out in the catch - the
sys.out is never reached??

Any pointers at all would be really appreciated thank-you in advance.

Regards

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>