您的位置:首页 > 编程语言 > Java开发

SpringMVC 自定义拦截器

2016-02-15 10:04 323 查看
SpringMVC 自定义拦截器

自定义拦截器

Spring MVC 可以使用拦截器对请求进行拦截处理,用户可以自定义拦截器来实现特定的功能,自定义的拦截器必须实现
HandlerInterceptor
接口。

该接口有以下 3 个方法:

(1)preHandle():

这个方法在业务处理器处理请求之前被调用,在该

方法中对用户请求
request
进行处理。如果程序员决定该拦截器对

请求进行拦截处理后还要调用其他的拦截器,或者是业务处理器去

进行处理,则返回
true
;如果程序员决定不需要再调用其他的组件

去处理请求,则返回
false


即:继续走下去,返回 true。如果我们要程序被拦截(例如没有登录访问某个页面),要返回 false。

(2)postHandle():

这个方法在业务处理器处理完请求后,但是
DispatcherServlet
向客户端返回响应前被调用,在该方法中对用户请求
request
进行处理。

即返回视图之前被调用。

(3)afterCompletion():

这个方法在
DispatcherServlet
完全处理完请

求后被调用,可以在该方法中进行一些资源清理的操作。



配置自定义拦截器



我们可以排除一些 url 不被拦截:

<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**"/>
<mvc:exclude-mapping path="/users/login"/>
<bean class="com.english17.interceptor.LoginInterceptor"/>
</mvc:interceptor>
</mvc:interceptors>


注意观察下图中拦截器被执行的顺序:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  springmvc