在系统中,经常需要再处理用户请求之前和之后执行一些行为,在Spring中有AOP来实现这个目的,
在MVC中 也提供了Interceptor拦截器机制,用于请求的预处理和后处理。有两个方法,这里我就介绍HandlerInterceptor接口的方法。
定义一个拦截器,实现HandlerInterceptor接口,实现他的三个方法:
preHandle:执行Handler方法之前执行,可以对请求做出判断,或者进行一些前置初始化操作和对请求的预处理。
postHandle:执行Handler方法后,返回modelAndView之前,多用于统一处理返回的视图。
afterCompletion:执行完Handler方法后,一般适合进行统一的异常或者日志处理操作。
具体的栗子我已经放到了Git上,有兴趣的朋友可以看一看,里面也都有注释:
https://github.com/jjc123/Landing_interception