调试了一下源代码,还没发现怎么知道,思路大致如下
1.查看Spring ApplicationContext里面有没有相关Web Controller的管理器,至于如何获取Spring ApplicationContext可以百度。
2.我看源代码发现DispatcherServlet下面有一个handlerMappings集合,第一个参数是RequestMappingHandlerAdapter里面有相关跳转的Controller内容;你可以顺藤摸瓜来调试。
1.查看Spring ApplicationContext里面有没有相关Web Controller的管理器,至于如何获取Spring ApplicationContext可以百度。
2.我看源代码发现DispatcherServlet下面有一个handlerMappings集合,第一个参数是RequestMappingHandlerAdapter里面有相关跳转的Controller内容;你可以顺藤摸瓜来调试。
ControllerClassNameHandlerMapping
BeanNameUrlHandlerMapping
SimpleUrlHandlerMapping应该能找到
Spring有个拦截器里面可以获取到但是我就是想到Filter里面获取到,就是
Spring有个拦截器里面可以获取到但是我就是想到Filter里面获取到,
Spring有个拦截器里面可以获取到但是我就是想到Filter里面获取到,
只要你知道相关的Handler在哪里了,你自然可以在Filter获取到;主要看他存放的地方,我觉得应该可以通过静态的ApplicationContext获取到的。你多调试的跟踪一下,我看到源码里面他也是从ApplicationContext有获取过数据。
2. 然后才到 Spring Servlet (子Context)父Context 不能访问子Context 的内容。
但是可以看Spring的源码是怎么映射的,Spring4后是在org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping
一级一级的找