打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
JSP异常处理机制

JSP除了有HTML代码,还有JAVA脚本元素,但是JSP页面用try-catch处理异常是比较困难的,怎样处理异常呢?还好,JSP规范中定义了异常处理机制,JSP异常有以下两个步骤

1、写一个JSP错误页面

异常处理文件需要使用page指令的isErrorPage属性,格式如下

<%@ page isErrorPage="true"%>

如果在页面上进行了这样的设置,页面就有一项特殊的功能,就是能够访问异常对象exception,exception是JSP的内部对象,当页面在运行过程中发生异常的时候,会抛出异常对象exception,该对象exception包含了异常信息。下面是处理异常文件errorPage.jsp:

<%@ page contentType="text/html;charset=gb2312" %>

<%@ page isErrorPage="true"%>

 2、在JSP内指定异常发生时应该回到哪个错误页面

要想让页面在产生异常的时候,由专门的异常处理文件对异常进行处理,需要在该页面中使用page指令的errorPage指定专门的异常处理页面,格式如下

<%@ page errorPage="errorPage.jsp"%>

 另外,为页面指定异常处理文件还可以通过web.xml进行配置

 常见的异常编码;

400错误:错误请求

401错误:访问被拒绝

403错误:文件被禁止访问

404错误:文件没有找到

500错误:问价在运行过程中发生未知错误

 实例:

(1)一个web工程,命名为“errordemo”,在工程的WebRoot下新建JSP页面,命令为MyJsp.jsp,代码如下

 Java代码

 

  1. <%@ page pageEncoding="GB2312" %>   
  2. <html>   
  3.     <head></head>   
  4.     <body>   
  5.         <%   
  6.             String[] strlen={"welcome","to","chengdu"};   
  7.             for(int i=0;i<10;i )   
  8.             {   
  9.                 out.println(strlen[i] "---测试");   
  10.                 i ;   
  11.             }   
  12.         %>   
  13.     </body>   
  14. </html>  

 (2)启动tomcat,并发布web工程,访问MyJsp.jsp页面,会出现如下的错误



 由于代码故意设置数组越界的异常,所以报出的是500错误,在配置文件web.xml中指定此错误处理页面,添加如下代码

 Java代码

 

  1. <error-page>   
  2.     <!-- 为响应状态码声明错误页面 -->   
  3.     <error-code>500</error-code>   
  4.     <location>/500.jsp</location>   
  5.   </error-page>   
  6.   <error-page>   
  7.     <!-- 为特定的异常类型说明错误页面 -->   
  8.     <exception-type>java.lang.Throwable</exception-type>   
  9.     <location>/500.jsp</location>   
  10.   </error-page>  

 <error-page>元素包括一个<exception-type>或一个<error-code>元素,外加一个<location>元素,<location>元素包括处理此错误的Servlet,JSP页面或静态页面的上下文相对路径,<exception-type>元素包含了所要处理的异常类型的完全限定名,<error-code>元素包含了所要处理的HTTP响应状态码

(3)编写异常处理页面

在工程WebRoot下新建JSP页面,命名为500.jsp,代码清单为

 Java代码

 

  1. <%@ page pageEncoding="GB2312"%>   
  2. <%@ page isErrorPage="true" %>   
  3. <html>   
  4.     <head>   
  5.         <title>500错误处理</title>   
  6.     </head>   
  7.     <body>   
  8.         这是500错误页面!   
  9.         <br>   
  10.         异常信息为<%=exception.getClass().getName() %>   
  11.     </body>   
  12. </html>  

 (4)发布于测试应用程序后,运行结果如下


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Java Web编程的主要组件技术
jsp page指令详解
Jsp基本指令和动作
JSP 404 ErrorPage 自定义页面处理
java处理springboot whitelabel error page
JSP页面结构(1)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服