Servlet异常处理

Servlet异常处理

一、servlet抛出异常时,我们可以配置一个异常处理器(Servlet)来处理异常

二、首先创建一个Servlet

public class ErrorHandler extends HttpServlet {
	 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {


	}
}

三、配置web.xml,首先配置ErrorHandler的信息,然后配置,确定需要捕获的类型,可以是状态码以及异常,然后设置指定重新转发的路径

	<servlet>
        <servlet-name>errorHandler</servlet-name>
        <servlet-class>com.xxf.demo.exception.ErrorHandler</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>errorHandler</servlet-name>
        <url-pattern>/ErrorHandler</url-pattern>
    </servlet-mapping>

    <error-page>
        <error-code>404</error-code>
        <location>/ErrorHandler</location>
    </error-page>

    <error-page>
        <exception-type>java.lang.Throwable</exception-type>
        <location>/ErrorHandler</location>
    </error-page>

四、ErrorHandler的使用

//在发生异常后,会将异常信息储存进request里进行转发,所以request里会多一些信息
public class ErrorHandler extends HttpServlet {
	 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		 //状态码
		Integer statusCode =(Integer) req.getAttribute("javax.servlet.error.status_code");
		//异常对应的Class类
        Class type=(Class)req.getAttribute("javax.servlet.error.exception_type");
        //
        String message=(String)req.getAttribute("javax.servlet.error.message");
        //
        String uri=(String)req.getAttribute("javax.servlet.error.request_uri");
        //异常类
        Throwable exception=(Throwable)req.getAttribute("javax.servlet.error.exception");
        //发出异常的servlet名字,不带包名
        String name=(String)req.getAttribute("javax.servlet.error.servlet_name");

	}	
}
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值