在此示例中,您将学习如何在JSP页面中处理异常。JSP具有用于错误处理的内置机制,这是一个特殊页面,可用于处理Web应用程序中的每个错误。要将页面定义为错误页面,我们使用page指令,isErrorPage并将值设置为启用属性true。
这是一个JSP错误页面的示例:
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ page isErrorPage="true" %> <!DOCTYPE html> <html> <head> <title>Error Page</title> </head> <body> <h1>An error has occurred.</h1> <div style="color: #F00;"> Error message: <%= exception.toString() %> </div> </body> </html>
我们已经定义了错误页面。下一步是如何在发生未捕获的异常时告诉其他JSP页面使用错误页面来处理错误。为此,我们再次使用page指令。errorPage将此指令的属性设置为指向错误页面。例如,在下面的示例中,我们将其设置为errorPage.jsp。
如果我们尝试访问errorTest.jsp下面的代码段中所示的。它将引发异常,因为我们尝试将无效的字符串转换为数字。由于我们不在页面中处理错误,因此将显示错误页面并显示异常消息。
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ page errorPage="/errorPage.jsp" %> <html> <head> <title>My Sample Page</title> </head> <body> <h1>This page throws an error:</h1> <% int number = Integer.parseInt("Hello, World!"); %> </body> </html>