在各個常用的web站點中,經常會發現這樣一個功能:當一個頁面出錯後,會自動跳轉到一個頁面上進行錯誤信息的提示。
想要完成錯誤頁的操作,則一定要滿足兩個條件:
1、指定錯誤出現時的跳轉頁,通過errorPage屬性指定;
2、錯誤處理頁必須有明確的標識,通過isErrorPage屬性指定。
下面就是錯誤頁:errorPage.jsp
代碼如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page isErrorPage="true" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'errorPage.jsp' starting page</title>
</head>
<body>
<h1>程序出現錯誤,請聯系管理員處理!</h1>
</body>
</html>
當然,也可以在整個虛擬目錄中指定全局的錯誤處理,要想達到這個效果,就必須修改web.xml文件,在其中加入錯誤頁的操作。
全局的錯誤處理可以處理兩種類型的錯誤,一種是HTTP代碼的錯誤,如404或500;還有一種是異常的錯誤,如NullPointerException等
修改web.xml文件加入錯誤處理,代碼如下:
<error-page>
<error-code>500</error-code>
<location>/error/errorPage.jsp</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/error/errorPage.jsp</location>
</error-page>
<error-page>
<exception-type>java.lang.NullPointerException</exception-type>
<location>/error/errorPage.jsp</location>
</error-page>
事例:
在頁面輸入無效的jsp頁面“http://localhost:8080/JSP/1tiaozhuan_a.jsp”,頁面會提示: