• 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配置文件中注册***: