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

来源:互联网 发布:淘宝客服打电话要好评 编辑:程序博客网 时间:2024/05/18 10:22

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.xml配置文件做如下配置,使拦截器生效:
这里写图片描述
2.异常处理
简单异常处理器SimpleMappingExceptionResolver
这里写图片描述

实现Spring的异常处理接口HandlerExceptionResolver 自定义自己的异常处理器
这里写图片描述
这里写图片描述

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

3 0