spring mvc 拦截器


拦截器 不能改变参数值,适合权限验证等 校验的时候。跟过滤器差不多,只是范围和时机不同
今天遇到的需求是要查看请求中是否有分页参数,如果有就不处理,如果没有就注入默认值。发现拦截器不合适就改用了aop;   

 必须实现接口HandlerInterceptor 或者继承适配器HandlerInterceptorAdapter 

拦截所有的请求
  1. <beans>
  2. <bean id="handlerMapping" class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping">
  3. <property name="interceptors">
  4. <list>
  5. <ref bean="officeHoursInterceptor" />
  6. </list>
  7. </property>
  8. </bean>
  9. <bean id="officeHoursInterceptor" class="samples.TimeBasedAccessInterceptor">
  10. <property name="openingTime" value="9" />
  11. <property name="closingTime" value="18" />
  12. </bean>
  13. </beans>


拦截有限的请求
  1. <mvc:interceptors>
  2. <bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor" />
  3. <mvc:interceptor>
  4. <mvc:mapping path="/**" />
  5. <mvc:exclude-mapping path="/admin/**" />
  6. <bean class="org.springframework.web.servlet.theme.ThemeChangeInterceptor" />
  7. </mvc:interceptor>
  8. <mvc:interceptor>
  9. <mvc:mapping path="/secure/*" />
  10. <bean class="org.example.SecurityInterceptor" />
  11. </mvc:interceptor>
  12. </mvc:interceptors>







posted @ 2015-10-12 15:12  skyding  阅读(291)  评论(0编辑  收藏  举报