在没有使用引用任何框架的前提下,javaweb也是能够做到全局异常处理的。
<!-- 在web.xml中增加错误处理页面 -->
<error-page>
<exception-type>java.lang.Throwable</exception-type> <!-- 异常类型,Throwable是所有异常的父类-->
<location>/error.jsp</location> <!-- 发生异常后跳转的位置 -->
</error-page>
<!-- error.jsp 开启isErrorPage="true" -->
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" isErrorPage="true" %>
<%
/*
* exception是jsp内置的隐含对象,只有当isErrorPage="true",才能获取该对象
* 在这里可以获取到发生异常的信息,可以实现日志的打印
*
*/
exception.getMessage();
%>
该全局异常处理方式,仅适用于通过http请求发生的异常。例如定时任务发生的异常就不可行,因为没有经过web容器(Tomcat)