加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读