@ControllerAdvice注解将作用在所有注解了@RequestMapping的控制器的方法上
@ExceptionHandler:用于全局处理控制器里的异常
所以在写项目的时候service层和mapper层都使用抛异常的方式,把异常都抛到controller层,然后来统一处理,这个类其实就相当于一个controller,也能重定向,转发页面等
这个是统一异常处理类,,@ControllerAdvice这个注解声明的表示统一异常处理,@ExceptionHandler(value = Exception.class)这个注解写在方法上表示,该方法处理哪个异常
1.先创建一个ExceptionController的controller,然后添加@ControllerAdvice的注解在类上
2.在其他controller里面写两个测试方法
3.自定义的jsp页面
4.进行访问
-
在@controllerAdvice类中,可以定义多个方法,分类处理异常,并且返回不同的页面;
-
如果没有精确异常匹配的处理方法,默认走Excpetion异常处理方法,如果有就执行精确异常匹配处理的方法;
-
异常处理类中,可以获取所有的异常都拿excepion来接收,也可以明确指定哪个异常,跟上下顺序无关,有明确指定的异常会找明确指定的,没有就找父类。