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]>