-
HandlerInterceptor
-
WebRequestInterceptor
-
preHandle是在请求处理之前调用;
-
postHandle实在请求处理之后,视图渲染之前调;
-
afterCompletion是在视图渲染之后调用。
-
参数WebRequest是Spring定义的接口,它是对HttpServletRequest的封装。比较常用方法:set/getAttribute(name, value, scope)
-
scope参数:
-
SCOPE_REQUEST:它的值是0,表示request请求作用范围。
-
SCOPE_SESSION :它的值是1,表示session请求作用范围。
-
SCOPE_GLOBAL_SESSION :它的值是2 ,表示全局会话作用范围
-
返回值为void,不是boolean。所以该方法不能用于请求阻断,一般用于资源准备。
-
postHandle
-
preHandle 中准备的数据都可以通过参数WebRequest访问。ModelMap 是Controller 处理之后返回的Model 对象,可以通过改变它的属性来改变Model 对象模型,改变视图渲染效果
-
afterCompletion
-
Exception 参数表示的是当前请求的异常对象,如果Controller 抛出的异常已经被处理过,则Exception对象为null 。
使用:
- 实现该接口,在springmvc配置文件中注册***: