个性化阅读
专注于IT技术分析

JSP中的异常处理

通常, 例外是在运行时引发的对象。异常处理是处理运行时错误的过程。你的Web应用程序中随时可能会发生异常。因此, 对于Web开发人员而言, 处理异常是更安全的方面。在JSP中, 有两种执行异常处理的方法:

  1. 通过页面指令的errorPage和isErrorPage属性
  2. 通过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 %>

此示例的输出:

jsp中的异常处理
jsp中的异常处理
jsp中的异常处理
jsp中的异常处理

通过在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);

%>

4)error.jsp文件与上面的示例相同

赞(0)
未经允许不得转载:srcmini » JSP中的异常处理

评论 抢沙发

评论前必须登录!