1

我不知道如何转标题,希望这是可以理解的。我正在开发一个已经存在多年并且目前正在生产中的网络应用程序。这个 web-app 使用 spring-flex 来显示一些视图,spring-flex 的依赖项之一是 spring-mvc。我认为会有一个相关的链接

所以我已经在我的 pom 中配置了所有依赖项,并且已经在我的 web.xml 中配置了一个 DispatcherServlet,并使用了手册中的确切配置(我不是进行集成的人,我试图弄清楚它是如何完成的)。

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

<servlet-mapping>
    <servlet-name>flex_servlet</servlet-name>
    <url-pattern>/messagebroker/*</url-pattern>
</servlet-mapping>

从我提供的链接中,我们可以看到默认情况下,当配置了 flex 消息代理时,配置看起来像这样(虽然在项目中看不到它)

<!-- Maps request paths at /* to the BlazeDS MessageBroker -->
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
    <property name="mappings">
        <value>
            /*=_messageBroker
        </value>
    </property>
</bean>

<!-- Dispatches requests mapped to a MessageBroker -->
<bean class="org.springframework.flex.servlet.MessageBrokerHandlerAdapter"/>    

既然我想用spring-mvc来做其他的任务,我该怎么办呢?

  • 声明另一个 DispatcherServlet 还是使用同一个?
  • 如果我使用相同的,我可以复制上面的块并完成它以覆盖默认配置吗?
  • 如果我不使用同一个,每个 DispatcherServlet 将如何知道要使用哪个 HandlerMapping,因为他们应该自己发现它?

感谢您的帮助

编辑:供将来参考,以下是相关文件:

4

1 回答 1

2

使用 BlazeDS,您定义了一个命名服务,DispatcherServlet 将使用此名称将请求发送到适当的服务。所以回答你的问题:

  • 声明另一个 DispatcherServlet 还是使用同一个?使用同一个
  • 如果我使用相同的,我可以复制上面的块并完成它以覆盖默认配置吗?无需更改
  • 如果我不使用同一个,每个 DispatcherServlet 将如何知道要使用哪个 HandlerMapping,因为他们应该自己发现它?无关紧要,你用同一个

根据我们下面的对话,这个问题的答案也可能对您有所帮助: Spring MVC: RESTful web services + BlazeDS integration possible in the same web application?

于 2014-07-08T08:45:59.597 回答