第一步:你需要建立一个显示错误信息的jsp页面,内容如下:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isErrorPage="true"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>系统执行发生错误</title> </head> <body> <div>系统执行发生错误,信息描述如下:</div> <div>错误状态代码是:${pageContext.errorData.statusCode}</div> <div>错误发生页面是:${pageContext.errorData.requestURI}</div> <div>错误信息:${pageContext.exception}</div> <div> 错误堆栈信息:<br/> <c:forEach var="trace" items="${pageContext.exception.stackTrace}"> <p>${trace}</p> </c:forEach> </div> </body> </html>
当然这个只是用来显示获取错误相关的信息,里面包含了绝大多数的错误相关信息,你可以使用这些信息来定制你的错误显示。
第二步:配置web.xml文件,添加错误页。 <error-page> <exception-type>java.lang.Exception</exception-type> <location>/error.jsp</location> </error-page>
这样的配置表示如果jsp页面或者servlet发生java.lang.Exception类型(当然包含子类)的异常就会转到error.jsp页面处理。
<error-page> <error-code>500</error-code> <location>/error.jsp</location> </error-page>
这样配置也是可以的,表示发生500错误的时候,转到error.jsp页面处理。
是不是很简单,你可以配置多个<error-page>小节,将不同类型的错误转发到不同的错误处理页面,方法已经有了,赶快配置你的个性化错误信息显示吧。