WEB项目-集成Flex3+BlazeDS3.2.
【Flex3和BlazeDS3.2的集成详解】 在Web开发中,使用Flex作为前端交互界面,可以提供丰富的用户体验。而BlazeDS是Adobe官方提供的一个轻量级中间件,用于实现在Flex和Java后端之间的数据通信。本教程将深入讲解如何在已有的Flex3基础上集成BlazeDS3.2,实现基于RPC模式的消息传递,让Flex应用程序能够调用后端服务方法。 **集成步骤** 1. **添加Flex编译信息** 我们需要在Flex项目中配置BlazeDS的相关编译参数。在工程名上右键,选择“属性”,然后进入“Flex编译器”选项。在“附加编译参数”中输入 `-services WebRoot/WEB-INF/flex/services-config.xml -locale en_US`。这使得Flex编译时会查找指定的服务配置文件,以建立与BlazeDS的连接。 2. **解决配置问题** 添加编译参数后,可能会遇到找不到服务配置的错误。这是因为BlazeDS无法解析`{context.root}`。为解决这个问题,我们需要打开`WEB-INF/flex/services-config.xml`,将文件中的所有`{context.root}`替换为实际的项目URL路径,例如`door4flex3`。 3. **编程测试** a. **创建Java类**:编写一个简单的Java类,如`HelloWorld.java`,用于提供服务。这个类可以包含一个返回字符串的方法,如`getHelloWorld()`,以便Flex调用。 b. **配置远程访问**:在`WEB-INF/flex/remoting-config.xml`文件中,定义一个目的地(destination),指明Flex将要访问的后端服务。例如: ```xml <destination id="helloWorld"> <properties> <source>org.eshore.twolf.flex.sample.HelloWorld</source> </properties> </destination> ``` 这里,`id`是服务的标识符,`source`是Java类的完全限定名。 c. **Flex客户端代码**:在Flex源码(例如`door4flex.mxml`)中,添加测试代码来调用后端服务。可以通过`mx:RemoteObject`组件来实现与Java服务的通信。以下是一个简单的例子: ```mxml <mx:RemoteObject id="remoteObject" destination="helloWorld"/> <mx:Button label="点击我" click="remoteObject.getHelloWorld(event);"/> <mx:Label id="resultLabel"/> <mx:Script> <![CDATA[ import mx.rpc.events.ResultEvent; import mx.rpc.events.FaultEvent; protected function resultHandler(event:ResultEvent):void { resultLabel.text = event.result.toString(); } protected function faultHandler(event:FaultEvent):void { Alert.show(event.fault.toString(), "提示"); } ]]> </mx:Script> ``` 这里,当用户点击按钮时,`getHelloWorld`方法会被调用,结果会通过`resultHandler`处理,并显示在Label组件中。 通过以上步骤,我们已经成功实现了Flex3与BlazeDS3.2的集成,使得Flex应用可以调用Java后端的服务。这种方式利用了BlazeDS的RPC模式,使得数据通信高效且低延迟。在实际项目中,可以根据需求进行更复杂的配置和扩展,如处理复杂的数据类型、分页、异步调用等,从而构建出功能强大的富互联网应用。
- kissinger_mpl2012-03-31帮助不大,看样子这本书也是在网上找的,帮助不大。倒是推荐看看王一松的《flex step by step》,虽然都是小例子,但对于有经验的程序员,很直观的。
- 粉丝: 3
- 资源: 51
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助