private support for your internal/customer projects ... custom extensions and distributions ... versioned snapshots for indefinite support ... scalability guidance for your apps and Ajax/Comet projects ... development services from 1 day to full product delivery
3 ways in creating custom error pages
1. web.xml
The standard webapp configuration file located in <webapp>/WEB-INF/web.xml can be used to map errors to specific URLs with the <error-page> element. This element creates a mapping between the error-code or exception typ to the location of a resource in the web application.
error-code- integer valueexception-type- fully qualified class name of a Java Exception typelocation- location of the resource in webapp relative to the root of the web application. Value should start with "/".
Error code example:
Exception example:
2. context file located in <jetty.home>/contexts/?.xml (any filename as long as its extension is xml)
A basic context xml configured the class ErrorHandler to map error pages by code, exception, and range.
There are two ways to define the error pages:
a. WebApp context
The error handling must derived from the class ErrorPageErroHandler.
b. Non-webapp context
The error handling can be derived from class ErrorHandler.
3) New class extends ErrorHandler
Here are the methods that you need to override:
- public void handle(String target, HttpServletRequest request, HttpServletResponse response, int dispatch) throws IOException
Optional to override: - void handleErrorPage(HttpServletRequest request, Writer writer, int code, String message) throws IOException
- void writeErrorPage(HttpServletRequest request, Writer writer, int code, String message, boolean showStacks) throws IOException
- void writeErrorPageHead(HttpServletRequest request, Writer writer, int code, String message) throws IOException
- void writeErrorPageBody(HttpServletRequest request, Writer writer, int code, String message, boolean showStacks) throws IOException
- void writeErrorPageMessage(HttpServletRequest request, Writer writer, int code, String message,String uri) throws IOException
- void writeErrorPageStacks(HttpServletRequest request, Writer writer) throws IOException