1

我计划运行多个站点,所有站点都使用相同的 spring mvc 应用程序作为控制器/服务/dao 层。我认为我将尝试这样做的方式是设置 2 个 DispatcherServlet 映射到 web.xml 中的不同路径,然后我可以将站点的每个版本的不同配置放在 site1-servlet.xml 和 site2-servlet.xml .

经过一番尝试,我把它弄好并提供页面,最直接的问题是每个控制器方法都必须映射到 /site1 和 /site2。我不想将这些硬编码到控制器中,因为很快可能会有更多版本的站点。

第一个问题是我这样做是否正确?

其次,让请求映射到不同的 DispatcherServlet 的最佳方法是什么,希望基于主机:它们到达,就像 apache 中的 VirtualHost?

干杯! NFV

4

1 回答 1

0

你在正确的轨道上。您可以做的一件事来帮助您处理请求映射是使用

<bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"></bean>

这样,您只需要使用 @RequestMapping 来注释方法,而不是使用路径。

URL最终会像

  http://mylocalhost:8080/site1/mycontroller/myMethod
于 2012-12-27T19:12:28.490 回答