牛骨文教育服务平台(让学习变的简单)
博文笔记

Spring MVC Interceptors 如何被调用

创建时间:2015-09-23 投稿人: 浏览次数:944

<!-- 以下配置将拦截所有的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>


Web请求被DispatcherServlet截获后,会调用DispatcherServlet的doDispatcher方法。

protected void initStrategies(ApplicationContext context) {  
   initMultipartResolver(context);  
   initLocaleResolver(context);  
   initThemeResolver(context);  
   initHandlerMappings(context);  
   initHandlerAdapters(context);  
   initHandlerExceptionResolvers(context);  
   initRequestToViewNameTranslator(context);  
   initViewResolvers(context);  
   initFlashMapManager(context);  
}  

DispatcherServlet的默认配置在DispatcherServlet.properties(和DispatcherServlet类在一个包下)


spring3.2

处理器映射 RequestMappingHandlerMapping 

处理器适配器 RequestMappingHandlerAdapter 


HandlerMapping中调用拦截器的拦截方法

Spring MVC 提供了两种方式实现拦截器,一种是实现HandlerInterceptor接口;另外一种是继承HandlerInterceptorAdapter类





声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。