第一步:你需要建立一個顯示錯誤信息的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>小節,將不同類型的錯誤轉發到不同的錯誤處理頁面,方法已經有了,趕快配置你的個性化錯誤信息顯示吧。