This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
I'm using Tomcat 6.0.26 with java 1.6 on Mac 10.6.3. In my WEB-INF/web.xml file, I have
However, a particular JSP page dies with a NumberFormatException, which I can view in Tomcat's localhost log file (stack trace at the bottom). However, I am not redirected to the error page I specify above. Instead, the JSP renders half-way and then stops where the error occurs. What do I need to configure to get the error to properly trigger to the error page?
the web.xml entry shown below will be executed whenever there server HTML response code is 500. how ever if you wish to redirect to error page incase of exception, please try the following web.xml entry.
Ramesh Shanmugam - SCJP 1.5
Joined: Jul 02, 2008
Thanks for your reply. I added the directive you specified to my WEB-INF/web.xml …
and then on my JSP page, I intentionally caused an exception …
However, I am still not redirected to my error page (instead just getting an incomplete JSP rendering), even though the below stack trace appears in my localhost log. Any other ideas? - Dave
It looks like the flushing of some of the original JSP's content to the output stream is causing the error page mechanism to fail. Which makes some sense, since the response has already been committed before the exception is thrown. In the long-run, you may want to move that processing into a filter or servlet, but here's something you might try for now - make sure you specify a large enough buffer so that partial contents don't get flushed:
...or just try removing buffer="none" if you have it set...