JSP提供了很好的错误处理能力。除了在Java代码 中可以使用try语句,还可以指定一个特殊页面。当应 用页面遇到未捕获的异常时,用户将看到一个精心设计 的网页解释发生了什么,而不是一个用户无法理解的错 误信息。 请使用page指令的isErrorPage属性(属性值必须为 True)来标识一个JSP页面是错误页面。
运行的newFile.jsp页面会抛出一个异常。不过,我们 不会看到由Servlet/JSP容器生成错误消息。相反,会看 到errorHandler.jsp页面的内容。
例:
这是一个错误处理程序(error.jsp)
<%@ page isErrorPage="true" language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%-- error 处理程序 --%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>this is ErrorPage</title> </head> <body> An error has occurred. <br/> Error message: <% out.println(exception.toString()); %> </body> </html>
这是发生错误的页面(newFile.jsp)
<%@ page errorPage="error.jsp" language="java" contentType="text/html charset=utf-8" pageEncoding="utf-8" %> <html> <%-- 发生error的程序 --%> <head><title>getProperty</title></head> <body> hello; <% Integer.parseInt("Throw me"); %> </body> </html>