SpringMVC异常映射机制

SpringMVC异常映射机制

SpringMVC给我们提供了基于XML基于注解两种异常映射机制。这两种异常映射不能够只使用一个,需要将它们结合起来一起使用。之所以这样,是因为有些异常是基于注解异常映射捕获不到的。

在SpringMVC中,如果是用<mvc:view-controller path=“请求地址” view-name=“视图名”/>进行请求的处理,那么在这过程中抛出的异常,就得用基于xml的异常映射来捕获处理这个异常。如果一个请求是由@RequestMapping注解来处理的,那么在这过程中抛出的异常,就得使用基于注解的异常映射来捕获并处理这个异常。

在这里插入图片描述

​ 1.基于XML的异常映射

在这里插入图片描述

​ 2.基于注解的异常映射

​ 2.1首先要创建一个异常处理类

@ControllerAdvice
public class XxxExceptionResolver {
    
}
  • @ControllerAdvice
  • 表示当前类是一个基于注解的异常处理器类

​ 2.2在这个类里面编写异常的映射以及处理

@ExceptionHandler(value = {异常类型.class..})
public ModelAndView(不一定要是这个类型的) resolveXxxException ( 										 			
									   // 异常处理后要去的地方
                                       String viewName,
                                       // 异常类型
                                       Exception exception,
                                       // 当前请求对象
                                       HttpServletRequest request,
                                       // 当前响应对象
                                       HttpServletResponse response) {
    ...
    ...
        
   ModelAndView modelAndView = new ModelAndView();

   // 9.将Exception对象存入模型    	
  modelAndView.addObject(CrowdConstant.ATTR_NAME_EXCEPTION,exception);

  // 10.设置对应的视图名称
 modelAndView.setViewName(viewName);

 // 11.返回ModelAndView对象
 return modelAndView;
    
}
/**
* @ExceptionHandler 将一个或多个具体的异常类型和一个方法关联起来
* 
**/
  • @ExceptionHandler 将一个或多个具体的异常类型和一个方法关联起来
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值