0

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

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

谢谢

4

2 回答 2

0

我觉得这个线程应该可以帮助你。获得 then 的列表后,Controllers您可以@RequestMapping使用类似的方法检查其参数,以使用传入请求的 context-path检查其上下文路径,以获取请求的控制器。

于 2013-04-29T06:34:08.890 回答
0

我从来没有在大型应用程序中这样做过,但有几次我确实将现有的基于 servlet 的应用程序迁移到 Spring MVC,这就是我的做法:

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

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

  3. 最后,你应该有一个应用程序,它有一个代理 DispatcherServlet / 控制器,它基本上使用你的旧代码。

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

随着您不断实施新的特定请求映射、控制器和控制器方法,您会达到全局控制器处理的请求没有或很少的地步。

希望这能回答你的问题。

于 2013-04-29T15:06:16.763 回答