Can I invoke a JSP error page from a servlet?

Yes, you can invoke the JSP error page and pass the exception object to it from within a servlet. The trick is to create a request dispatcher for the JSP error page, and pass the exception object as a javax.servlet.jsp.jspException request attribute. However, note that you can do this from only within controller servlets.If your servlet opens an OutputStream or PrintWriter, the JSP engine will throw the following translation error:java.lang.IllegalStateException: Cannot forward as OutputStream or Writer has already been obtainedThe following code snippet demonstrates the invocation of a JSP error page from within a controller servlet:protected void sendErrorRedirect(HttpServletRequest request,HttpServletResponse response, String errorPageURL, Throwable e) throwsServletException, IOException {request.setAttribute ("javax.servlet.jsp.jspException", e);getServletConfig().getServletContext().getRequestDispatcher(errorPageURL).forward(request, response);}public void doPost(HttpServletRequest request, HttpServletResponse response){try {// do something} catch (Exception ex) {try {sendErrorRedirect(request,response,"/jsp/MyErrorPage.jsp",ex);} catch (Exception e) {e.printStackTrace();}}}

Showing Answers 1 - 3 of 3 Answers

bora.srinivasarao

  • Mar 8th, 2006
 

hi

By providing the information about jsp error page in the web.xml and forward/redirect to that jsp error page inthe servlet.

regards,

bora_srinivasarao@yahoo.co.in

  Was this answer useful?  Yes

Give your answer:

If you think the above answer is not correct, Please select a reason and add your answer below.

 

Related Answered Questions

 

Related Open Questions