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

Flex 与 Java 数据交互一种方式(Blazeds)

2014-05-15 22:40 603 查看
项目中用到前台Flex展示,后台Java查库操作。这里记录一下交互操作。

1下载Blazeds

Flex与Java交互有多种方式,常用的为Blazeds。
http://sourceforge.net/adobe/blazeds/wiki/download%20blazeds%204/
下载Blazeds,blazeds.war中有需要的配置文件和jar包。都需要放到WEB-INF下。



2服务器端程序编写

Flex端与服务器程序交互,利用RemoteObject来调用服务器端程序。



public boolean blazedsService(String str){
return str.equals("a");
}


配置WEb_INF/flex 下 remoting-config.xml

<destination id="blazedsTestjava">
<properties>
<source>com.li.blazeds.BlazedsService</source>
</properties>
</destination>


3Flex端调用RemoteObject

Flash Builder新增项目,

RemoteObject组件调用远程java对象,

<pre name="code" class="html"><?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"
creationComplete="init()">
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
<s:RemoteObject id="blazedsTest" destination="blazedsTestjava"
endpoint="http://localhost:8080/BlazedsTest/messagebroker/amf"
result="success(event)" fault="fail(event)" />
</fx:Declarations>
<fx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
public function init():void{
blazedsTest.blazedsService("a");
}

public function success(event:ResultEvent):void{
Alert.show((Boolean(event.result)).toString());
}

public function fail(event:FaultEvent):void{
Alert.show(event.message.toString());
}
]]>
</fx:Script>
</s:Application>




4发布

首先web程序部署到tomcat下,然后在Flash Builder中直接运行mxml程序。结果如下,证明可以数据交互。



5总结

在RemoteObject中,endpoint中执行web程序中的地址

endpoint="http://localhost:8080/BlazedsTest/messagebroker/amf"

在web.xml中配置了

<!-- MessageBroker Servlet -->
<servlet>
<servlet-name>MessageBrokerServlet</servlet-name>
<servlet-class>flex.messaging.MessageBrokerServlet</servlet-class>
<init-param>
<param-name>services.configuration.file</param-name>
<param-value>/WEB-INF/flex/services-config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>MessageBrokerServlet</servlet-name>
<url-pattern>/messagebroker/*</url-pattern>
</servlet-mapping>

配置了该请求的响应,flex.messaging.MessageBrokerServlet来处理该请求。猜想是反射调用类和方法。

上述只是介绍了基本的Flex和java交互,而对于将Flex程序部署到web应用上的数据交互还没有介绍。

相应的代码文件在我的csdn资源中
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Flex Java Blazeds