今天使用了Adobe的Blazeds项目创建了一个在客户端调用服务器端的HelloWorld例子。步骤如下,共享给大家
什么是Blazeds,BlazeDS是一个基于服务器的Java远程调用(remoting)和Web消息传递(messaging)技术,它能够使 得后台的Java应用程序和运行在浏览器上的Flex应用程序相互通信。使用Blazeds进行交互的步骤如下
- 首先先下载到blazeds.war包
- 将下载到的blazeds.war包打开后,可以看到在web-inf下面的lib里面有一些个jar包,将这些个jar包拷到你自己的项目的lib目录下,将flex文件夹下面的四个文件messaging-config.xml,proxy-config.xml,remoting-config.xml,services-config.xml拷贝到项目的web-inf/flex下面
- 创建服务器端文件HelloWorldService.java,代码如下
-
打开文件WEB-INF\flex\remoting-config.xml ,添加如下代码package org.flexexe.remotObject; public class HelloWorldService { public String getHelloStr(String userName){ return "hello,"+userName; } }
-
<destination id="helloService"> <properties> <source>org.flexexe.remotObject.HelloWorldService</source> </properties> </destination>
到此为止服务器端文件创建完毕,下面创建客户端
创建客户端项目的时候,要注意选中服务器端的技术为J2EE,并在rootFolder那个地方选中自己的项目的webContent 目录即可,然后创建一个MXML文件,内容如下
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
import mx.rpc.events.FaultEvent;
import mx.controls.Alert;
import mx.rpc.events.ResultEvent;
private function resultHandler(event:ResultEvent):void
{
Alert.show(event.result.toString(), "提示");
}
private function faultHandler(event:FaultEvent):void
{
Alert.show(event.fault.toString(), "提示");
}
]]>
</mx:Script>
<mx:RemoteObject id="helloService" destination="helloService" source="org.flexexe.remotObject.HelloWorldService"
result="resultHandler(event)" fault="faultHandler(event)"/>
<mx:Button label="发送" click="helloService.getHelloStr('netlynx2000')"/>
</mx:Application>
然后点击运行即可以