Catching all exceptions and errors in a J2EE app

A lot of the text I have come across that deals with catching errors using the web.xml focuses on specific errors only. Below is some code for catching all generic errors thrown by a servlet.

First; Put the following in your web.xml

java.lang.Throwable /generic_errors.jsp

Second; Create a file called /generic_errors.jsp in your web root and add the following.

<%@ page contentType="text/html"%><%@ page language="java"%><%@ page isErrorPage="true" import="*" %>Something hasn't gone to plan!

Something hasn't gone to plan!

An errror has occured. Please use the back button or contact support.

<%if( request.getRemoteAddr().equals("") ){ out.print("The following error has occured: "+ exception.toString() +"

"); StringWriter sw = new StringWriter(); PrintWriter pw = new PrintWriter(sw); exception.printStackTrace(pw); out.print(sw); sw.close(); pw.close();}%>