ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java-Spring MVC:在同一Web应用程序中可能实现RESTful Web服务BlazeDS集成吗?

2019-11-05 19:12:58  阅读:194  来源: 互联网

标签:blazeds flex spring java spring-mvc


我有一个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客户端)提供服务?如果是这样,那么有人可以告诉我我做错了什么吗?

在此先感谢您的帮助.

解决方法:

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

本质上,您需要创建两个单独的调度程序,每个调度程序具有不同的路径.

<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以获取更多信息.

标签:blazeds,flex,spring,java,spring-mvc
来源: https://codeday.me/bug/20191105/1997127.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有