Hi,

Do you know of any issue involving error handling in tomcat (5.5.9) ?

Here's the deal. I defined in my web.xml the following entry

<error-page>
    <error-code>404</error-code>
   <location>/portal.do</location>
</error-page>

When I call, say portal1.do, a page that doesn't exists I get a forward to the portal.do the thing with the forward is seems that it doesn't go thru the application filters again. And why this is not a redirect ? The browser address stays portal1.do instead of portal.do...

Here how the stack trace looks when the portal1.do is called ( this is normal, check the second trace)


Thread [http-8585-Processor24] (Suspended)
        CustomServlet.service(ServletRequest, ServletResponse) line: 104
ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 252
        ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 
173
        FilterSecurityInterceptor.invoke(FilterInvocation) line: 84
SecurityEnforcementFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 182 FilterToBeanProxy.doFilter(ServletRequest, ServletResponse, FilterChain) line: 125 ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 202
        ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 
173
CustomAuthenticationProcessingFilter(AbstractProcessingFilter).doFilter(ServletRequest, ServletResponse, FilterChain) line: 305 FilterToBeanProxy.doFilter(ServletRequest, ServletResponse, FilterChain) line: 125 ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 202
        ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 
173
HttpSessionContextIntegrationFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 225 FilterToBeanProxy.doFilter(ServletRequest, ServletResponse, FilterChain) line: 125 ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 202
        ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 
173
ContentReaderFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 171 ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 202
        ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 
173
RequestUtilsFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 114 ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 202
        ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 
173
        StandardWrapperValve.invoke(Request, Response) line: 213
        StandardContextValve.invoke(Request, Response) line: 178
        StandardHostValve.invoke(Request, Response) line: 126
        ErrorReportValve.invoke(Request, Response) line: 105
        StandardEngineValve.invoke(Request, Response) line: 107
        CoyoteAdapter.service(Request, Response) line: 148
        Http11Processor.process(InputStream, OutputStream) line: 856
Http11Protocol$Http11ConnectionHandler.processConnection(TcpConnection, Object[]) line: 744
        PoolTcpEndpoint.processSocket(Socket, TcpConnection, Object[]) line: 527
        LeaderFollowerWorkerThread.runIt(Object[]) line: 80
        ThreadPool$ControlRunnable.run() line: 684
        ThreadWithAttributes(Thread).run() line: 595



Here how the stack trace looks on the forward to /portal.do after 404 was intercepted



Thread [http-8585-Processor24] (Suspended (breakpoint at line 74 in CustomServlet))
        CustomServlet.service(ServletRequest, ServletResponse) line: 74
ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 252
        ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 
173
        ApplicationDispatcher.invoke(ServletRequest, ServletResponse) line: 672
ApplicationDispatcher.processRequest(ServletRequest, ServletResponse) line: 465
        ApplicationDispatcher.doForward(ServletRequest, ServletResponse) line: 
398
        ApplicationDispatcher.forward(ServletRequest, ServletResponse) line: 301
        StandardHostValve.custom(Request, Response, ErrorPage) line: 362
        StandardHostValve.status(Request, Response) line: 283
        StandardHostValve.invoke(Request, Response) line: 136
        ErrorReportValve.invoke(Request, Response) line: 105
        StandardEngineValve.invoke(Request, Response) line: 107
        CoyoteAdapter.service(Request, Response) line: 148
        Http11Processor.process(InputStream, OutputStream) line: 856
Http11Protocol$Http11ConnectionHandler.processConnection(TcpConnection, Object[]) line: 744
        PoolTcpEndpoint.processSocket(Socket, TcpConnection, Object[]) line: 527
        LeaderFollowerWorkerThread.runIt(Object[]) line: 80
        ThreadPool$ControlRunnable.run() line: 684
        ThreadWithAttributes(Thread).run() line: 595


Any idea will be greatly appreciated.

MC

Ps.
On weblogic the error handling triggers a redirect and the above problem is not present.



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

Reply via email to