Servlet异常处理

来源:互联网 发布:python exit 1 编辑:程序博客网 时间:2024/06/05 12:02

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静态设置错误响应 
我测试发现不行! 

我们也可以将error.html改为一个Servlet类来处理。 
Servlet容器在请求对象中设置的属性 
属性名字    属性类型 属性说明 

javax.servlet.error.status_code:  Integer  HTTP协议的状态代码javax.servlet.error.exception_type:  Class  未捕获异常的Class类的对象javax.servlet.error.message:   String  传递给sendError()方法的消息javax.servlet.error.exception:   Throwable 调用错误页面的未捕获异常javax.servlet.error.request_uri:  String  当前请求的URIjavax.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
原创粉丝点击