如何在 JSP 页面中处理错误
JSP 页面的错误处理主要分为页面内局部处理和全局统一错误页面两类,核心目标是捕获异常并返回友好提示,而非直接暴露异常堆栈给用户。
方式 1:页面内局部错误处理(page 指令配置)
通过page指令的errorPage和isErrorPage属性,实现单个页面的异常跳转:
errorPage:指定当前页面抛出未捕获异常时,跳转的错误处理页面路径;isErrorPage:标记当前页面为错误页面(设为true后可使用exception隐式对象)。
步骤示例:① 业务页面(index.jsp):配置错误跳转
1 | <%@ page contentType="text/html;charset=UTF-8" |
② 错误页面(error.jsp):展示友好提示
1 | <%@ page contentType="text/html;charset=UTF-8" |
方式 2:全局统一错误页面(web.xml 配置)
通过web.xml配置全局错误页面,统一处理整个 Web 应用的异常(推荐生产环境使用),支持按异常类型或状态码匹配:
1 | <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" version="4.0"> |
方式 3:手动捕获异常(脚本 / EL)
在 JSP 脚本段中通过try-catch手动捕获异常,控制错误处理逻辑:
1 | <%@ page contentType="text/html;charset=UTF-8" %> |
核心注意事项:
- 生产环境需隐藏异常堆栈(仅展示友好提示),避免泄露系统信息;
- 全局错误页面优先级高于页面内
errorPage配置; - 错误页面的
isErrorPage="true"仅影响exception对象的可用性,不影响页面功能。
- <%@ page pageEncoding=”UTF-8” %> <%– 等价于contentType=”text/html;charset=UTF-8” –%>



