SpringMVC 拦截器
拦截器的原理和过滤器相同
SpringMVC 要想实现拦截器必须实现HandlerInterceptor接口
HandlerInterceptor接口有三个方法:
preHandle:拦截请求
postHandle:拦截响应
afterCompletion:当页面跳转并被渲染完毕后触发
拦截器实现步骤
1.编写拦截器,实现HandlerInterceptor接口
实现HandlerInterceptor接口并重写其方法,注意拦截请求的返回值。
拦截请求的返回值代表拦截后是否放行,为true则放行,false则不放行。
2.配置,将自定义拦截器配置到SpringMVC容器中
<!-- 将自定义拦截器配置到SpringMVC容器中:默认拦截全部请求,可以通过<mvc:interceptor>配置 -->
<mvc:interceptors>
<!-- 配置具体拦截的路径,最终拦截路径取<mvc:mapping>和<mvc:exclude-mapping>交集部分 -->
<mvc:interceptor>
<!-- 指定拦截的路径 基于ant风格-->
<mvc:mapping path="/**"/>
<!-- 指定不拦截的路径 -->
<mvc:exclude-mapping path="/handler/testDateFactory"/>
<!-- 将自定义拦截器配置到SpringMVC容器中-->
<bean class="org.lyh.interceptor.Myinterceptor"></bean>
</mvc:interceptor>
<!--第二个拦截器 -->
<mvc:interceptor>
<!-- 指定拦截的路径 基于ant风格-->
<mvc:mapping path="/**"/>
<!-- 指定不拦截的路径 -->
<mvc:exclude-mapping path="/handler/testDateFactory"/>
<!-- 将自定义拦截器配置到SpringMVC容器中-->
<bean class="org.lyh.interceptor.Myinterceptor2"></bean>
</mvc:interceptor>
</mvc:interceptors>