Java springmvc:restfulweb服务&x2B;BlazeDS集成是否可以在同一web应用程序中实现?

Java springmvc:restfulweb服务&x2B;BlazeDS集成是否可以在同一web应用程序中实现?,java,apache-flex,spring,spring-mvc,blazeds,Java,Apache Flex,Spring,Spring Mvc,Blazeds,我有一个Spring MVC web应用程序,它通过一个控制器类(用@controller注释)提供RESTful web服务,该类的方法通过@RequestMapping注释映射到特定的请求类型和签名 我试图通过以下方式将BlazeDS服务目的地集成到混合中:1)将HttpFlexSession侦听器添加到web.xml,2)将flex:messagebroker和flex:remoting目的地声明添加到我的Spring应用程序上下文配置文件,以及3)添加一个通用的/web-INF/flex

我有一个Spring MVC web应用程序,它通过一个控制器类(用@controller注释)提供RESTful web服务,该类的方法通过@RequestMapping注释映射到特定的请求类型和签名

我试图通过以下方式将BlazeDS服务目的地集成到混合中:1)将HttpFlexSession侦听器添加到web.xml,2)将flex:messagebroker和flex:remoting目的地声明添加到我的Spring应用程序上下文配置文件,以及3)添加一个通用的/web-INF/flex/services-config.xml

上面的BlazeDS集成步骤似乎已经使用了我的RESTful web服务,因为请求似乎不再被路由到控制器方法

甚至有可能做到这一点,也就是说,有一个web应用程序1)通过请求映射控制器方法服务HTTP请求,2)通过BlazeDS服务服务远程对象方法调用(即来自Flex客户端)?如果是这样,那么谁能告诉我我做错了什么


提前感谢您的帮助。

是的,这是可能的,但需要一些额外的配置

基本上,您需要创建两个独立的分派器,每个分派器具有不同的路径

<context-param>
   <param-name>contextConfigLocation</param-name>
   <param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<servlet>
    <name>flex</name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet>
    <name>spring-mvc</name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>flex</servlet-name>
    <url-pattern>/messagebroker/*</url-pattern>
 </servlet-mapping>
<servlet-mapping>
    <servlet-name>spring-mvc</servlet-name>
    <url-pattern>/app/*</url-pattern>
 </servlet-mapping>

上下文配置位置
/WEB-INF/applicationContext.xml
弯曲
org.springframework.web.servlet.DispatcherServlet
1.
春季mvc
org.springframework.web.servlet.DispatcherServlet
1.
弯曲
/消息代理/*
春季mvc
/应用程序/*
现在,对的请求路由到Spring MVC,对的请求路由到BlazeDS

此外,您还需要将spring上下文文件分为三部分:

  • 公共上下文(在上面的示例中名为
    applicationContext.xml
  • 一个用于SpringMVC(在上面的示例中名为
    SpringMVCServlet.xml
  • 一个用于Flex(在上面的示例中名为
    flexservlet.xml
查看Spring/BlazeDS文档了解更多信息