【问题标题】:Spring MVC: RESTful web services + BlazeDS integration possible in the same web application?Spring MVC:RESTful Web 服务 + BlazeDS 集成可能在同一个 Web 应用程序中?
【发布时间】:2010-10-29 15:33:38
【问题描述】:

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

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

上述 BlazeDS 集成步骤似乎已经破坏了我的 RESTful Web 服务,因为请求似乎不再被路由到控制器方法。

是否有可能做到这一点,即拥有一个 Web 应用程序,它 1) 通过请求映射的控制器方法为 HTTP 请求提供服务,以及 2) 通过 BlazeDS 服务为远程对象方法调用(即来自 Flex 客户端)提供服务?如果是这样,那么谁能告诉我我做错了什么?

提前感谢您的帮助。

【问题讨论】:

    标签: java apache-flex spring spring-mvc blazeds


    【解决方案1】:

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

    基本上您需要创建两个单独的调度程序,每个调度程序都有不同的路径。

    <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>
    

    现在对http://yourapp/app/somewhere 的请求被路由到Spring MVC,对http://yourapp/messagebroker 的请求通过BlazeDS 路由。

    另外,您需要将 spring 上下文文件分成三个:

    • 一个通用上下文(在上面的例子中命名为applicationContext.xml
    • 一个用于 Spring MVC(在上面的示例中名为 spring-mvc-servlet.xml
    • 一个用于 Flex(在上面的示例中名为 flex-servlet.xml

    查看 Spring/BlazeDS 文档中的 this section 了解更多信息。

    【讨论】:

      猜你喜欢
      • 2016-06-05
      • 1970-01-01
      • 2013-03-26
      • 1970-01-01
      • 2013-10-16
      • 2014-02-20
      • 1970-01-01
      • 2016-04-14
      • 2010-11-21
      相关资源
      最近更新 更多