通常, 例外是在运行时引发的对象。异常处理是处理运行时错误的过程。你的Web应用程序中随时可能会发生异常。因此, 对于Web开发人员而言, 处理异常是更安全的方面。在JSP中, 有两种执行异常处理的方法:
- 通过页面指令的errorPage和isErrorPage属性
- 通过web.xml文件中的<error-page>元素
通过页面指令的元素在jsp中进行异常处理的示例
在这种情况下, 你必须定义并创建一个页面来处理异常, 如error.jsp页面中所示。与process.jsp页面相同, 可以在可能发生异常的页面上定义页面指令的errorPage属性。
有3个文件:
- 用于输入值的index.jsp
- 用于将两个数字相除并显示结果的process.jsp
- error.jsp用于处理异常
index.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="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用于显示异常
1)如果要处理任何异常的web.xml文件
<web-app>
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/error.jsp</location>
</error-page>
</web-app>
如果要处理任何异常, 则此方法更好。如果你知道任何特定的错误代码, 并且想要处理该异常, 请指定错误代码元素, 而不是如下所示的异常类型:
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);
%>
评论前必须登录!
注册