SpringMVC框架中的异常解析器-ExceptionHandler和HandlerExceptionResolver(转)

处理局部异常

@Controller 
 public class AccessController { 
     /** 
      * 处理这个Controller内部发生的运行时异常 
      */ 
     @ ExceptionHandler (RuntimeException.class) 
     public String runtimeExceptionHandler(RuntimeException runtimeException,ModelMap modelMap) { 
         logger.error(runtimeException.getLocalizedMessage()); 

        modelMap.put("status", IntegralConstant.FAIL_STATUS); 
         return "exception"; 
     } 
 } 
处理全局异常
import java.util.HashMap; 
 import java.util.Map; 

import javax.servlet.http.HttpServletRequest; 
 import javax.servlet.http.HttpServletResponse; 
 import org.apache.log4j.Logger; 
 import org.springframework.stereotype.Component; 
 import org.springframework.web.servlet.HandlerExceptionResolver; 
 import org.springframework.web.servlet.ModelAndView; 

/** 
  * 全局异常处理器,跳转到错误页面。 
  * 
  * @author leiwen@FansUnion.cn 
  */ 
 @Component 
 public class SystemExceptionHandler implements HandlerExceptionResolver { 

    public static final String ERROR_500 = "/views/error/500.jsp"; 
      
     private Logger logger = Logger.getLogger(getClass()); 

    public ModelAndView resolveException(HttpServletRequest request, 
             HttpServletResponse response, Object handler, Exception ex) { 
         logger.error("Catch-exception"); 
         ex.printStackTrace(); 
        
        //other code 
         // 根据实际页面来修改 
         return new ModelAndView(ERROR_500); 
     } 

  

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值