Spring MVC3+细粒度拦截器
mvc:interceptors
这个标签用于注册一个自定义拦截器或者是WebRequestInterceptors.
可以通过定义URL来进行路径请求拦截,可以做到较为细粒度的拦截控制。
例如在配置文件加入
<?xmlversion="1.0"encoding="UTF-8"?>
<beansxmlns="http://www.springframework.org/schema/beans"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
<!--以下配置将拦截所有的URL请求-->
<mvc:interceptors>
<beanclass="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"/>
</mvc:interceptors>
<!--以下配置将拦截特有的URL请求-->
<mvc:interceptors>
<mvc:interceptor>
<mvc:mappingpath="/secure/*"/>
<beanclass="org.example.SecurityInterceptor"/>
</mvc:interceptor>
<mvc:interceptor>
<mvc:mappingpath="/admin/*.do"/>
<beanclass="org.example.admin.ControlInterceptor"/>
</mvc:interceptor>
</mvc:interceptors>
</beans>
定义的拦截器只需要实现
@Override
publicbooleanpreHandle(HttpServletRequestreq,HttpServletResponseres,Objecthandler)