我可以在一个应用程序中同时使用Spring MVC和Spring WS吗?

25 浏览
0 Comments

我可以在一个应用程序中同时使用Spring MVC和Spring WS吗?

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

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

在阅读关于Spring WS的一点东西之后(我是新手!),我们在web.xml中声明了一个“MessageDispatcherServlet”,这是Spring WS的前端控制器。

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

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

例如,对于Spring WS,我有

  
  springsoap
  org.springframework.ws.transport.http.MessageDispatcherServlet
  1
  
  
  springsoap
  /soapservices/*
  

对于Spring MVC(RESTful),我有

springmvc
org.springframework.web.servlet.DispatcherServlet
1
    
    
        springmvc
        /restservices/*
    

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

这能做到吗?

admin 更改状态以发布 2023年5月20日
0
0 Comments
0
0 Comments

没错,这样做很好。您将MVC相关的内容放在一个文件中,将WS内容放在另一个文件中。

如果它们需要共享服务,则最好在web.xml中使用ContextLoaderListener声明共享上下文,在该上下文中定义应包含共享bean的第三个上下文(请参见设置示例的文档)。

还值得注意的是,MessageDispatcherServlet只是标准DispatcherServlet加上一些其他组件的方便组合。您可以自己声明这些组件并使用DispatcherServlet,但这会变得很琐碎。

0