Flex JAVA 数据交互 (BlazeDS应用)
发布时间:2020-12-15 04:29:10 所属栏目:百科 来源:网络整理
导读:BlazeDS是一个基于服务器的Java远程调用(remoting)和Web消息传递(messaging)技术,它能够使得后台的Java应用程序和运行在浏览器上的Flex应用程序相互通信。 一、下载BlazeDS: 1、网址:http://opensource.adobe.com/wiki/display/blazeds/Release+Build
BlazeDS是一个基于服务器的Java远程调用(remoting)和Web消息传递(messaging)技术,它能够使得后台的Java应用程序和运行在浏览器上的Flex应用程序相互通信。
一、下载BlazeDS: 1、网址:http://opensource.adobe.com/wiki/display/blazeds/Release+Builds ; 2、下载“BlazeDS binary distribution”(http://download.macromedia.com/pub/opensource/blazeds/blazeds_bin_3-0-0-544.zip); ? ? i.将blazeds_bin_3-0-0-544.zip解压,获取blazeds.war文件。 ? ? ii.使用WINRAR将blazeds.war解压成blazeds文件夹,该文件夹有WEB-INF和META-INF文件夹。在WEB-INF文件夹里面有src,lib,flex,classes四个文件夹和一个web.xml文件。其中lib文件夹是开发使用BlazeDS的jar包,flex文件夹包含开发所必需的配置文件。 二、在Eclipse里部署应用 1、在Eclipse里新建一个java web工程。 2、将blazeds_bin_3-0-0-544.zip里面的blazedsWEB-INFlib目录下面的jar包添加到java web工程里的WEB-INF/lib目录下。 3、将blazeds_bin_3-0-0-544.zip里面的blazedsWEB-INFflex目录拷贝到java web工程里的WEB-INF目录下。 4、将blazeds_bin_3-0-0-544.zip里面的blazedsWEB-INFweb.xml文件添加到java web工程的WEB-INF目录下。 5、编写java测试程序。代码如下: package com.hsinghsu.test; public class User { public String getUserName(String name) { return "My name is "+name; } }三、在FLEX中部署应用 1、在FLEX中新建一个FLEX项目。 2、右击FLEX项目,选择属性,在“Flex编译器”选项中,附加的编译器参数下面填写services-config.xml的文件位置,如: -services "D:eclipsespacetestBlazeDSWebContentWEB-INFflexservices-config.xml" -locale en_US 3、右击FLEX项目,选择属性,在“Flex服务器”选项中,选择“应用程序服务器类型”为J2EE,使用远程对象访问服务选择为BlazeDS。 ? ?在“根文件夹”中,选择java web的输出文件夹,如:D:eclipsespacetestBlazeDSWebContent ? ?在“根URL”中,填写访问java web服务器的url,如:http://localhost:8686/testBlazeDS ? ?在“上下文根目录”中,填写java web的根目录,如:/testBlazeDS ? ?点击验证配置。 ? ?在“输出文件夹”中,填写flex编译后的输出文件夹,如:D:eclipsespacetestBlazeDSWebContentflash 4、编写FLEX测试程序,如下: <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" minWidth="955" minHeight="600"> <mx:Script> <![CDATA[ import mx.controls.Alert; import mx.rpc.events.ResultEvent; protected function send(event:MouseEvent):void { testRemoteObject.getUserName(txtName.text); } private function faultHandler(event: Event): void { Alert.show(event.toString(),"获取数据失败!"); } private function resultHandler(event: ResultEvent): void { Alert.show("Return:" + event.result.toString()); } ]]> </mx:Script> <mx:RemoteObject id="testRemoteObject" destination="user" fault="faultHandler(event)" result="resultHandler(event)"/> <mx:HBox> <mx:Label text="名称:"/> <mx:TextInput id="txtName"/> <mx:Button label="测试" click="send(event)"/> </mx:HBox> </mx:Application> 四、在Eclipse里配置服务 在WEB-INFflexremoting-config.xml节点里面添加如下代码: <destination id="user"> <properties> <source>com.hsinghsu.test.User</source> </properties> </destination>注: 1、destination id与Flex中RemoteObject的destination要保持一致。 2、若报错:FaultEvent fault=[RPC Fault faultString="Cannot create class of type 'com.hsinghsu.test.User'." faultCode="Server.ResourceUnavailable" ,则需要修改java web的java build path修改为testBlazeDS/WebContent/WEB-INF/classes。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- xcode – 用swift中的KVO观察contentSize(CGSize)
- DOJO TEST - Access to restricted URI denied“ code: ”1
- 如何在MacOS10.12下安装libcurl并用于Xcode?
- 正则表达式
- (XML)根元素后面的文档中的标记必须格式正确 开始位置:6:
- ruby-on-rails – Rails3 irb控制台vs rails控制台?
- XML编程CRUD(包括JDK自带的DOM和SAX解析以及DOM4J第三方解
- ruby – ‘case’语句如何与常量一起使用?
- c# – WCF NetTcpBinding是否提供持久连接?
- Qt 读写 XML