servlet 异常处理

原地址:http://jspengxue.iteye.com/blog/48364


Servlet异常处理 

1. 声明异常处理 
声明两种错误处理:HTTP错误代码的处理 和 指定程序中产生的java异常的处理。 
在web.xml文件中声明对各种异常的处理方法。 
元素结构: 
<error-page> 
|____<error-code> or <exception-type> 

|____<location> 

<error-code>: 制定错误代码。 
<exception-type>: 制定java异常类的完整限定名。 
<location>: 给出用于响应HTTP错误代码或者Java异常的资源的路径。 

HTTP异常的处理 
利用web.xml静态设置错误响应 
Java代码   收藏代码
  1. <?xml version="1.0" encoding="ISO-8859-1"?>  
  2. <web-app xmlns="http://java.sun.com/xml/ns/j2ee"  
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  4.     xsi:schemaLocation="http://java.sun.com/xml/ns/j2eehttp://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"  
  5.     version="2.4">  
  6.   
  7.   <display-name>Test My Servlet</display-name>  
  8.   <description>  
  9.      Test My Servlet  
  10.   </description>  
  11.   
  12.  <error-page>  
  13.   <error-code>404</error-code>  
  14.   <location>/myjsp/error.html</location>  
  15.  </error-page>  
  16. </web-app>  
我测试发现不行! 

我们也可以将error.html改为一个Servlet类来处理。 
Servlet容器在请求对象中设置的属性 
属性名字    属性类型 属性说明 
Java代码   收藏代码
  1. javax.servlet.error.status_code:  Integer  HTTP协议的状态代码  
  2. javax.servlet.error.exception_type:  Class  未捕获异常的Class类的对象  
  3. javax.servlet.error.message:   String  传递给sendError()方法的消息  
  4. javax.servlet.error.exception:   Throwable 调用错误页面的未捕获异常  
  5. javax.servlet.error.request_uri:  String  当前请求的URI  
  6. javax.servlet.error.servlet_name:  String  导致错误页面被调用的Servlet的名字  



java程序中产生的异常处理 
将上面web.xml的<error-code>改为<exception-type>后,输入类似: 
<exception-type>java.io.FileNotFoundException</exception-type> 
当文件找不到时捕获这个异常并通过<location>去调用处理。 


最后,HttpServletResponse里面有HTTP协议所定义的web响应数字。 
利用ServletRequest 的getRequestDispatcher()得到getRequestDispatcher对象, 
调用forward()方法去调用另一个Servlet类
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值