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:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to