四.SpringMVC中的 拦截器与异常处理

1.装配与自定义拦截器
主要作用:日志记录,权限检查,性能监控,通用行为

定义的Interceptor类要实现**Spring 的**HandlerInterceptor 接口
定义的Interceptor类继承实现了HandlerInterceptor 接口的类(比如 HandlerInterceptorAdapter 类)

HandlerInterceptor三个方法:
preHandle (HttpServletRequest request, HttpServletResponse response, Object handle),在请求处理之前进行调用。
postHandle (HttpServletRequest request, HttpServletResponse response, Object handle, ModelAndView modelAndView),请求进行处理之后调用。
afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handle, Exception ex) ,整个请求结束之后(渲染了对应的视图之后)调用。

四.SpringMVC中的 拦截器与异常处理_第1张图片
springmvc.xml配置文件做如下配置,使拦截器生效:
四.SpringMVC中的 拦截器与异常处理_第2张图片
2.异常处理
简单异常处理器SimpleMappingExceptionResolver
四.SpringMVC中的 拦截器与异常处理_第3张图片

实现Spring的异常处理接口HandlerExceptionResolver 自定义自己的异常处理器
四.SpringMVC中的 拦截器与异常处理_第4张图片
这里写图片描述

使用@ExceptionHandler注解实现异常处理:增加BaseController类,并在类中使用@ExceptionHandler注解声明异常处理使所有需要异常处理的Controller都继承该类
四.SpringMVC中的 拦截器与异常处理_第5张图片
附注:
拦截器:定义好Interceptor,写好三个方法,xml配置好即可生效
自定义异常:父类BaseController中@ExceptionHandler(MyException.class),子类LoginController继承,一旦子类抛出MyException,父类控制跳到exception.jsp

你可能感兴趣的:(springMVC)