首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

JSP 錯誤頁面自動跳轉配置指南:頁面級與全局兩種模式

     編輯:Java 綜合教學

JSP 錯誤頁面自動跳轉配置指南:頁面級與全局兩種模式

Web 應用常需在異常發生時自動跳轉至友好錯誤頁。JSP 提供頁面指令與 web.xml 兩種配置方式,本文詳細說明實現步驟與驗證。

核心條件

  1. 發生錯誤的頁面:使用 errorPage 屬性指定跳轉目標
  2. 錯誤處理頁:使用 isErrorPage="true" 標識,可獲取 exception 隱式對象

方式一:頁面級配置

1. 目標錯誤頁 errorPage.jsp

<%@ page language="java" pageEncoding="UTF-8" isErrorPage="true" %>
<!DOCTYPE html>
<html>
<head><title>系統錯誤</title></head>
<body>
  <h1>程序出現異常,請聯系管理員處理!</h1>
  <!-- 可通過 exception 對象顯示詳情 -->
  <pre><%= exception != null ? exception.getMessage() : "未知錯誤" %></pre>
</body>
</html>

2. 業務頁面指定跳轉

<%@ page errorPage="errorPage.jsp" %>
<%-- 頁面業務代碼,拋出異常時自動跳轉 --%>

方式二:全局配置 (web.xml)

適用於統一處理 HTTP 錯誤碼 (404/500) 與特定異常類型:

<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>

驗證測試

  • 訪問不存在頁面 https://localhost:8080/xxx.jsp → 觸發 404 跳轉
  • 代碼拋出 NullPointerException → 觸發異常類型匹配跳轉
  • 頁面級 errorPage 優先級高於 web.xml 全局配置

404 錯誤頁面跳轉效果圖

最佳實踐建議

  1. 生產環境必須配置全局 500/404 頁面,避免暴露堆棧信息
  2. 錯誤頁保持輕量,不依賴複雜邏輯/數據庫,防止錯誤頁自身報錯
  3. 記錄完整異常堆棧至日誌系統 (Logback/ELK),錯誤頁僅展示用戶友好提示
  4. Spring Boot 項目優先使用 @ControllerAdvice + @ExceptionHandler 統一異常處理,更靈活強大
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved