Insight mvc:interceptor 解析、执行顺序

来源:互联网 发布:c语言编程入门书籍 编辑:程序博客网 时间:2024/06/05 20:21

疑问:在mvc:interceptor 实际使用过程中,interceptor的执行顺序是依赖配置顺序吗,这样引出以下问题。

1、mvc:interceptor 配置怎样解析、初始化?

2、springmvc 处理请求的过程中,interceptors怎样工作的?

...

Insight结论:interceptor的执行顺序就在mvc:interceptor 配置解析时决定,依赖配置顺序。

...

Insight过程:

Insight spring源码,按照以往的分析,mvc:xxx配置的解析由MvcNamespaceHandler 完成。

1、配置解析,以下代码列出了mvc:interceptor解析以及注册到bean-factory的过程。

...

2、interceptor 初始化(将bean-factory解析的MappedInterceptor 注入AbstractHandlerMapping)

...

3、interceptors 工作的过程:

参考上述的源码,遍历HandlerMapping.mappedInterceptors,根据request path匹配符合的拦截器。

也就是说:DispatcherServlet处理请求

getHandler per request

匹配拦截器  per request

0 0
原创粉丝点击