通常, 例外是在运行时引发的对象。异常处理是处理运行时错误的过程。你的Web应用程序中随时可能会发生异常。因此, 对于Web开发人员而言, 处理异常是更安全的方面。在JSP中, 有两种执行异常处理的方法:
- 通过页面指令的errorPage和isErrorPage属性
- 通过web.xml文件中的< error-page> 元素
在这种情况下, 你必须定义并创建一个页面来处理异常, 如error.jsp页面中所示。与process.jsp页面相同, 可以在可能发生异常的页面上定义页面指令的errorPage属性。
有3个文件:
- 用于输入值的index.jsp
- 用于将两个数字相除并显示结果的process.jsp
- error.jsp用于处理异常
<
form action="process.jsp">
No1:<
input type="text" name="n1" />
<
br/>
<
br/>
No1:<
input type="text" name="n2" />
<
br/>
<
br/>
<
input type="submit" value="http://www.srcmini.com/divide"/>
<
/form>
process.jsp
<
%@ page errorPage="error.jsp" %>
<
%String num1=request.getParameter("n1");
String num2=request.getParameter("n2");
int a=Integer.parseInt(num1);
int b=Integer.parseInt(num2);
int c=a/b;
out.print("division of numbers is: "+c);
%>
error.jsp
<
%@ page isErrorPage="true" %>
<
h3>
Sorry an exception occured!<
/h3>
Exception is: <
%= exception %>
此示例的输出:
文章图片
文章图片
文章图片
文章图片
通过在web.xml文件中指定error-page元素在jsp中进行异常处理的示例
这种方法更好, 因为你不需要在每个jsp页面中指定errorPage属性。在web.xml文件中指定单个条目将处理该异常。在这种情况下, 请使用location元素指定异常类型或错误代码。如果要处理所有异常, 则必须在exception-type元素中指定java.lang.Exception。让我们看一个简单的例子:
有4个文件:
- 用于指定错误页面元素的web.xml文件
- 用于输入值的index.jsp
- 用于将两个数字相除并显示结果的process.jsp
- error.jsp用于显示异常
<
web-app>
<
error-page>
<
exception-type>
java.lang.Exception<
/exception-type>
<
location>
/error.jsp<
/location>
<
/error-page>
<
/web-app>
【JSP中的异常处理】如果要处理任何异常, 则此方法更好。如果你知道任何特定的错误代码, 并且想要处理该异常, 请指定错误代码元素, 而不是如下所示的异常类型:
1)如果要处理特定错误代码的异常, 则使用web.xml文件
<
web-app>
<
error-page>
<
error-code>
500<
/error-code>
<
location>
/error.jsp<
/location>
<
/error-page>
<
/web-app>
2)index.jsp文件与上面的示例相同 3)process.jsp
现在, 你无需在jsp页面中指定page指令的errorPage属性。 |
<
%@ page errorPage="error.jsp" %>
<
%String num1=request.getParameter("n1");
String num2=request.getParameter("n2");
int a=Integer.parseInt(num1);
int b=Integer.parseInt(num2);
int c=a/b;
out.print("division of numbers is: "+c);
%>
4)error.jsp文件与上面的示例相同
推荐阅读
- 使用JSP自定义标签进行迭代
- JSP自定义标签示例
- JSP中的表达语言(EL)
- 使用JSP从服务器下载文件的示例
- 在JSP中显示小程序(jsp(plugin操作标记))
- JSP自定义标签中的自定义URI
- JSP中的自定义标签
- JSP CRUD示例
- JSP定制标记中的属性