能够经过定义URL来进行路径请求拦截,能够作到较为细粒度的拦截控制。web
例如在配置文件加入spring
<?xml version="1.0" encoding="UTF-8"?>spring-mvc
<beans xmlns="http://www.springframework.org/schema/beans"mvc
xmlns:mvc="http://www.springframework.org/schema/mvc"app
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"ide
xsi:schemaLocation="xml
http://www.springframework.org/schema/beansservlet
http://www.springframework.org/schema/beans/spring-beans-3.0.xsdit
http://www.springframework.org/schema/mvcio
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
<!-- 如下配置将拦截全部的URL请求 -->
<mvc:interceptors>
<bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor" />
</mvc:interceptors>
<!-- 如下配置将拦截特有的URL请求 -->
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/secure/*"/>
<bean class="org.example.SecurityInterceptor" />
</mvc:interceptor>
<mvc:interceptor>
<mvc:mapping path="/admin/*.do"/>
<bean class="org.example.admin.ControlInterceptor" />
</mvc:interceptor>
</mvc:interceptors>
</beans>
定义的拦截器只须要实现
@Override
public boolean preHandle(HttpServletRequest req,HttpServletResponse res, Object handler)