You could use a JSP error page from a servlet.

Catch any ServletException errors, and do a redirect to your JSP error page.

Here's short snips from one of my servlets:
try {
  //sending email from the servlet...
} catch (ServletException ex) {
   log("Failure to send email", ex);
   sendErrorRedirect(req, res, "/error.jsp", ex);
}


protected void sendErrorRedirect(HttpServletRequest request,
HttpServletResponse response, String errorPageURL, Throwable e) {
   try {
      request.setAttribute ("javax.servlet.jsp.jspException", e);

getServletConfig().getServletContext().getRequestDispatcher(errorPageURL).fo
rward(request, response);
   } catch (Exception ex) {
      log(getServletName() + ".sendErrorRedirect ", ex);
   }
}


Hope that helps...

-----Original Message-----
From: H�ctor Garcia Peris [mailto:[EMAIL PROTECTED]]
Sent: Friday, January 11, 2002 6:20 AM
To: [EMAIL PROTECTED]
Subject: Change the default error message


Hello all,

This is the first time I write to this page, and I send a salutation to all
people.
Well, this is my question. I have installed jakarta tomcat 3.2.2 in a linux
machine. All works fine but I want change one thing and I don't know how
can I make it. When occurs some error in a servlet, the servlet engine
sends a response like this:

Error: 500
Localizacion: /examples/servlet/EnbreveServlet
Error interno del servlet:

java.lang.NullPointerException
         at EnbreveServlet.doGet(EnbreveServlet.java:86)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at
org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:405)
         at org.apache.tomcat.core.Handler.service(Handler.java:287)
         at
org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
         at
org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:79
7)
         at
org.apache.tomcat.core.ContextManager.service(ContextManager.java:743)
         at
org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpC
onnectionHandler.java:213)
         at
org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
         at
org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:501)
         at java.lang.Thread.run(Thread.java:484)

Can I change this information to a default html page?

Thanks.

PS: Could be this is a FAQ, but I have searching in the FAQ-o-matic and in
the archive list and I can't find answer to my question.


---------------------------------------------------------------------
H�ctor Garcia Peris
Dpto. Inform�tica
Instituto Valenciano de Investigaciones Econ�micas S.A. (Ivie)
C/ Guardia Civil, 22 esc-2 1� 46020 - Valencia (Spain)
Tfno.: +34 - 963190050 / +34 - 963930816
Fax.: +34 - 963190055 / +34 - 963930856
e-mail: [EMAIL PROTECTED]
----------------------------------------------------------------------



--
To unsubscribe:   <mailto:[EMAIL PROTECTED]>
For additional commands: <mailto:[EMAIL PROTECTED]>
Troubles with the list: <mailto:[EMAIL PROTECTED]>


--
To unsubscribe:   <mailto:[EMAIL PROTECTED]>
For additional commands: <mailto:[EMAIL PROTECTED]>
Troubles with the list: <mailto:[EMAIL PROTECTED]>

Reply via email to