springmvc拦截器

 Java Servlet 的过滤器(Filter)类似,它主要用于拦截用户的请求并做相应的处理,通常应用在权限验证、记录请求信息的日志、判断用户是否登录等功能上。

Spring MVC 框架中定义一个拦截器需要对拦截器进行定义和配置,定义一个拦截器可以通过两种方式:一种是通过实现 HandlerInterceptor 接口或继承 HandlerInterceptor 接口的实现类来定义;另一种是通过实现 WebRequestInterceptor 接口或继承 WebRequestInterceptor 接口的实现类来定义。

实现 HandlerInterceptor 接口

preHandle 方法:该方法在控制器的处理请求方法前执行,其返回值表示是否中断后续操作,返回 true 表示继续向下执行,返回 false 表示中断后续操作。

postHandle 方法:该方法在控制器的处理请求方法调用之后、解析视图之前执行,可以通过此方法对请求域中的模型和视图做进一步的修改。

afterCompletion 方法:该方法在控制器的处理请求方法执行完成后执行,即视图渲染结束后执行,可以通过此方法实现一些资源清理、记录日志信息等工作

1.<!-- 配置拦截器 -->
2.<mvc:interceptors>
3.<!-- 配置一个全局拦截器,拦截所有请求 -->
4.<bean class="interceptor.TestInterceptor" /> 
5.<mvc:interceptor>
6.<!-- 配置拦截器作用的路径 -->
7.<mvc:mapping path="/**" />
8.<!-- 配置不需要拦截作用的路径 -->
9.<mvc:exclude-mapping path="" />
10.<!-- 定义<mvc:interceptor>元素中,表示匹配指定路径的请求才进行拦截 -->
11.<bean class="interceptor.Interceptor1" />
12.</mvc:interceptor>
13.</mvc:interceptors>

 

posted @ 2020-04-14 15:21  lalalalatxx  阅读(122)  评论(0编辑  收藏  举报