gpt4 book ai didi

spring-mvc - 我可以在一个应用程序中使用 Spring MVC 和 Spring WS 吗?

转载 作者:行者123 更新时间:2023-12-02 23:36:36 28 4
gpt4 key购买 nike

基本上有一个后端应用程序同时公开 SOAP 和 RESTful 服务。

我决定使用用于 SOAP 服务的 Spring WS 1.5.8,以及
Spring MVC 3.0 用于 RESTful 服务,因为这是一项新功能。

在阅读了一些有关 Spring WS 的内容后(我对此很陌生!),我们必须在 Spring WS 的 web.xml 中声明一个“MessageDispatcherServlet”,它是一个前端 Controller 。

对于 Spring MVC,我们应该在 web.xml 中声明一个“DispatcherServlet”,它也是一个前端 Controller 。

对于这两个 servlet,我们在 web.xml 中有不同的 servlet 声明。

即对于 Spring WS 我有

  <servlet>
<servlet-name>springsoap</servlet-name>
<servlet-class>org.springframework.ws.transport.http.MessageDispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>springsoap</servlet-name>
<url-pattern>/soapservices/*</url-pattern>
</servlet-mapping>

对于Spring MVC(RESTful)我有

<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/restservices/*</url-pattern>
</servlet-mapping>

因此我应该使用 2 个配置文件?一个名为 springmvc-servlet.xml ,另一个名为 springsoap-servlet.xml ?

这可以做到吗?

最佳答案

是的,这很好。您将 MVC 相关的内容放入其中,将 WS 相关的内容放入另一个。

如果他们需要共享服务,那么最好使用 web.xml 中的 ContextLoaderListener 声明共享上下文,该上下文定义了应包含共享 bean 的第三个上下文(see docs for example of how to set this up)。

同样没有值(value)的是,MessageDispatcherServlet 只是标准 DispatcherServlet 加上一些其他组件的方便组合。您可以自己声明这些组件并使用DispatcherServlet,但这会变得相当繁琐。

关于spring-mvc - 我可以在一个应用程序中使用 Spring MVC 和 Spring WS 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4078795/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com