Servlet异常处理

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静态设置错误响应
[code]<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2eehttp://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">

<display-name>Test My Servlet</display-name>
<description>
Test My Servlet
</description>

<error-page>
<error-code>404</error-code>
<location>/myjsp/error.html</location>
</error-page>
</web-app>[/code]我测试发现不行!

我们也可以将error.html改为一个Servlet类来处理。
Servlet容器在请求对象中设置的属性
属性名字 属性类型 属性说明
[code]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 当前请求的URI
javax.servlet.error.servlet_name: String 导致错误页面被调用的Servlet的名字[/code]


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、付费专栏及课程。

余额充值