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="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 %>

此示例的输出:
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>

【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文件与上面的示例相同

    推荐阅读