异常通常是在运行时抛出的对象。异常处理是处理运行时错误的过程。在您的Web应用程序中可能随时发生异常。因此,处理异常对于Web开发者来说是一个更安全的选择。在JSP中,有两种执行异常处理的方式:

  1. 通过页面指令的 errorPageisErrorPage 属性
  2. 通过web.xml文件中的 <error-page> 元素

通过页面指令元素进行异常处理的示例

在这种情况下,您必须定义并创建一个处理异常的页面,如error.jsp页面。在可能发生异常的页面中,定义页面指令的errorPage属性,如process.jsp页面。

共有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 %>  

这个示例的输出:

1.jpg
2.jpg
3.jpg
4.jpg

通过在web.xml文件中指定错误页面元素进行异常处理的示例

这种方法更好,因为您无需在每个jsp页面中指定errorPage属性。在web.xml文件中指定单一条目将处理异常。在这种情况下,可以指定异常类型或错误代码以及位置元素。如果您想处理所有异常,您将需要在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>  

如果您想处理任何异常,这种方法更好。如果您知道任何特定的错误代码并想处理该异常,请指定error-code元素而不是exception-type,如下所示:

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页面中指定页面指令的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技术, JSP快速入门, JSP简单用法, JSP编程, JSP下载, JSP基本语法, JSP安装教程, JSP库, JSP指南, JSP基础教程, JSP初级教程, JSP进阶教程