能夠經過定義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)