调试了一下源代码,还没发现怎么知道,思路大致如下
1.查看Spring ApplicationContext里面有没有相关Web Controller的管理器,至于如何获取Spring ApplicationContext可以百度。
2.我看源代码发现DispatcherServlet下面有一个handlerMappings集合,第一个参数是RequestMappingHandlerAdapter里面有相关跳转的Controller内容;你可以顺藤摸瓜来调试。

解决方案 »

  1.   

    1楼 思路不错看看这几个重点类
    ControllerClassNameHandlerMapping
    BeanNameUrlHandlerMapping
    SimpleUrlHandlerMapping应该能找到
      

  2.   


    Spring有个拦截器里面可以获取到但是我就是想到Filter里面获取到,就是
      

  3.   


    Spring有个拦截器里面可以获取到但是我就是想到Filter里面获取到,
      

  4.   


    Spring有个拦截器里面可以获取到但是我就是想到Filter里面获取到,
    只要你知道相关的Handler在哪里了,你自然可以在Filter获取到;主要看他存放的地方,我觉得应该可以通过静态的ApplicationContext获取到的。你多调试的跟踪一下,我看到源码里面他也是从ApplicationContext有获取过数据。
      

  5.   

    1. 先到拦截器 (父Context)
    2. 然后才到 Spring Servlet (子Context)父Context 不能访问子Context 的内容。
    但是可以看Spring的源码是怎么映射的,Spring4后是在org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping
    一级一级的找
      

  6.   

    Spring是可以直接获取到,我现在就是不想用Spring提供的方法啊,就用最基本的servlet看能不能获取到。