您的位置:首页 > 编程语言 > Java开发

快速搭建Spring BlazeDS Integration框架环境

2009-07-19 12:30 260 查看
spring的Spring BlazeDS
Integration在6月份终于出了release版,虽然说原先使用BlazeDs+自己编写的spring-factory直接访问spring环境没有什么问题,不过现在有一个专业团队来维护spring与BlazeDs的整合又何乐而不为。

目前Spring
BlazeDS Integration的资料很少,主要还是依赖官方文档来搭建第一个Spring BlazeDS
Integration系统。

依赖要求:

Java 5 or higher(sun官网)

Spring 2.5.6 or higher(springsource)

Adobe BlazeDS 3.2 or higher(adobe官网)

Spring BlazeDS Integration 1.0.0

之后开始了正式的开发。

一.服务器端的开发

1.在eclipse中建立一个名为teachFlex的web工程,导入上面所列的jar包。

2.编辑工程的web.xml文件,加入如下内容:

<!--建立一个spring mvc的servlet-->
<servlet>
<servlet-name>teachFlexServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/config/web-application-config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<!--设置这个servlet处理前台flex传送的数据-->
<servlet-mapping>
<servlet-name>teachFlexServlet</servlet-name>
<url-pattern>/messagebroker/*</url-pattern>
</servlet-mapping>


3.增加spring的上下文环境web-application-config.xml文件,文件内容如下:

<!--注意,最后两行扩展了spring针对flex环境的配置-->
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:flex="http://www.springframework.org/schema/flex"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/flex http://www.springframework.org/schema/flex/spring-flex-1.0.xsd">
<!--
这个配置用于处理flex消息,相当于
<bean id="_messageBroker" class="org.springframework.flex.core.MessageBrokerFactoryBean" ></bean>
也相当于
<flex:message-broker/>-->
<flex:message-broker id="_messageBroker"></flex:message-broker>
<!--配置普通的bean-->
<bean id="helloWorld" class="flex.samples.HelloWorld" >
<!--将这个bean暴露为flex的远程服务-->
<flex:remoting-destination />
</bean>
<!--spring mvc配置,所有请求都由_messageBroker处理-->
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<value>/*=_messageBroker</value>
</property>
</bean>
<bean class="org.springframework.flex.servlet.MessageBrokerHandlerAdapter"/>
</beans>

4.在WEB-INF目录下制作flex/services-config.xml文件与proxy-config.xml文件,具体文件参考BlazeDs的文档,主要用于配置BlazeDs的channel。
5.制作flex.samples.HelloWorld内容如下:

package flex.samples;
public class HelloWorld {
public String sayHello(String name){
return "hello,"+name;
}
}


二.客户端的开发

1.在Flex Builder中建立一个teachFlex的Flex Project.配置它的Flex
Compiler属性的Additional compiler arguments参数为

-services "$web path$/WEB-INF/flex/services-config.xml" -locale
en_US;Flex Server属性的Context root参数为teachFlex.

2.编辑teachFlex.mxml如下:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical">
<mx:Script>
<!--[CDATA[
import mx.rpc.events.ResultEvent;
//调用后台的sayHello方法
private function say():void{
helloWorld.sayHello(nameText.text);
}
//回调函数获得后台sayHello方法的返回结果
public function handleResult(event:ResultEvent):void {
result.text=event.result as String;
}
]]-->
</mx:Script>
<!--配置远程对象用来与spring bean建立连接-->
<mx:RemoteObject id="helloWorld" destination="helloWorld" showBusyCursor="true">
<!--配置远程对象的方法及结果处理函数-->
<mx:method name="sayHello" result="handleResult(event)"/>
</mx:RemoteObject>
<mx:Text text="用户名:"></mx:Text>
<mx:TextInput id="nameText"></mx:TextInput>
<mx:Button label="确定" click="say()"></mx:Button>
<mx:Label id="result"></mx:Label>
</mx:Application>


完成客户端与服务器端的开发后,将它们部署到容器上,就可以通过链接访问teachFlex.html页面查看最终效果。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: