应用Spring mvc HandlerExceptionResolver 处理异常全局跳转方法

应用Spring mvc HandlerExceptionResolver 处理异常全局跳转方法


对于系统异常跳转,可以采用全局跳转的方式,避免在每个controller方法做跳转判断,同时打印异常的的请求uri,可以快速查找问题的入口。


1、配置:applicationContext.xml 加入bean <bean class="com.bbc.common.BBCExceptionResolver"  />


2、实现   HandlerExceptionResolver 接口,参考如下例子:


public class BBCExceptionResolverimplements HandlerExceptionResolver {

 

         privatestatic Logger logger = Logger.getLogger(BBCExceptionResolver.class);

        

         /**

          * 处理异常跳转

          */

   @Override 

   public ModelAndView resolveException(HttpServletRequest request, 

           HttpServletResponse response, Object handler, Exception ex) { 

            if (ex instanceof org.springframework.web.HttpSessionRequiredException) {

                StringuserName = CookieUtil.getUserName(request);

              returnnew ModelAndView("user/login").addObject("account",userName);

          }

             String url = request.getRequestURI();

             String param =request.getQueryString();

             if (param != null &&param.length() > 0) {

                       url += ("?" +param);

             }

              logger.error("异常跳转: "+ url, ex);//把漏网的异常信息记入日志 

              return new ModelAndView("error"); 

   

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值