在DispatcherServlet中获取请求的Controller类

时间:2013-04-29 05:49:12

标签: java spring spring-mvc

我正在尝试将Spring和SpringMVC放入我们真正遗留的项目中。问题是我们的项目非常庞大,并且包含大量的专有请求处理。我必须逐步介绍它,因为旧的处理程序必须使用旧的基础结构。因为我必须使用原始的servlet。将它更改为DispatcherServlet是没有问题的,我必须要解决的唯一问题是,我需要区分Controller和class之类,必须以旧方式处理。

我需要获取DispatcherServlet将此请求分派给的类。是否有可能以某种方式查询SpringMVC以获取将用作控制器的bean?

由于

2 个答案:

答案 0 :(得分:0)

我觉得this线程可以帮到你。获得Controllers列表后,您可以使用类似的方法检查其@RequestMapping参数,以使用传入的请求的上下文路径上下文路径 >,获取请求的控制器。

答案 1 :(得分:0)

我从来没有在大型应用程序中执行此操作,但我曾几次将现有的基于servlet的应用程序迁移到spring MVC,这就是我这样做的方式:

  1. 将所有现有请求映射到DispatcherServlet

  2. 创建一个控制器,处理任何请求网址/**。在此控制器中,将请求处理委托给现有服务器端组件,如果运气好,这将意味着一个或多个servlet。我称之为全球控制员。

  3. 最后,您应该拥有一个具有代理DispatcherServlet / controller的应用程序,它基本上使用您的旧代码。

  4. 接下来,我将逐步实现我想要使用Spring MVC服务的特定URL的新控制器/方法。由于您的请求映射URL是特定的,因此将调用新的控制器而不是全局控制器。

  5. 当您不断实现新的特定请求映射,控制器和控制器方法时,您将达到全局控制器处理的请求没有或很少的程度。

    希望这能回答你的问题。