Is there a way, in Tomcat, to redirect all invalid requests to a single URL?
In web.xml add an entry like this: <error-page> <exception-type>java.lang.Exception</exception-type> <location>/servlet/ErrorDisplay</location> </error-page> Write a servlet like this: public class ErrorDisplay extends HttpServlet { // Exceptions & 404 page not founds public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { String code = null, message=null, type=null; //Integer codeInt = req.getAttribute("javax.servlet.error.status_code"); Throwable throwable = (Throwable)req.getAttribute("javax.servlet.error.exception"); // servlet origin if(throwable==null) {throwable = (Throwable)req.getAttribute("javax.servlet.jsp.jspException");} // jsp origin String uri = (String)req.getAttribute("javax.servlet.error.request_uri"); StringBuffer report = new StringBuffer(); if(throwable != null) { report.append(stringStackTrace(throwable)); if(throwable.getClass().getName().equals("javax.servlet.ServletException")) { report.append("\nRoot Cause\n"); report.append(stringStackTrace(((ServletException)throwable).getRootCause()) ); } } else { report.append("No 'javax.servlet.error.exception' parameter"); } if(uri!=null) { report.append("\nRequest URI: "+uri); } else { report.append("No 'javax.servlet.error.request_uri' parameter"); } try{ Util.sendMail("[EMAIL PROTECTED]","Exception report at "+Log.now(),report.toString()); errorWriter.println(report.toString()); eventWriter.println("Exception report sent"); } catch(IOException e) {UKRoutes.errorWriter.println("Exception report not sent: "+e);} Util.dispatch("ServletError.jsp",req,res); } String stringStackTrace(Throwable throwable) { StringBuffer buffer = new StringBuffer(); if(throwable != null) { buffer.append(throwable.toString()+"\n"); StackTraceElement[] traceArray = throwable.getStackTrace(); for(int i=0;i<traceArray.length;i++) { buffer.append(traceArray[i].toString()+"\n"); } } return buffer.toString(); } } In that example I use a jsp but it doesn't do much so I'll leave it out. Then away you go. If you want this to handle other exceptions then you need to catch them and rethrow them as a ServletException like this: catch(SQLException e) {throw new ServletException(e.fillInStackTrace());} Have Fun. Now can someone answer my question please ?? -- Mike Whittaker [EMAIL PROTECTED] <mailto:Mike@;HotPud.com> ~~~~~~~~~~~ Rock Climbing Database at http://www.hotpud.com ___________________________________________________________________________ To unsubscribe, send email to [EMAIL PROTECTED] and include in the body of the message "signoff SERVLET-INTEREST". Archives: http://archives.java.sun.com/archives/servlet-interest.html Resources: http://java.sun.com/products/servlet/external-resources.html LISTSERV Help: http://www.lsoft.com/manuals/user/user.html