用BlazeDS实现Flex与Java通信

最近项目中需要Flex与Java进行通信,初步选定使用BlazeDS。看见网上很多HelloWorld的例子都没运行起来,所以决定把自己的经验总结一下分享给大家。

  1. 配置Flex和Java Web项目的开发的开发环境,这里就不再赘述了,我使用的是Eclipse JavaEE + Flex Builder。
  2. 下载BlazeDS压缩包,好像有三种版本(Turkey、bin、source), 我用的是bin,解压后里面有一个blazeds.war。
  3. 在Eclipse中新建一个Flex Project名为BlazeApp,服务器选J2EE。
  4. J2EE Settings中的Flex war File选择BlazeDS解药后得到的blazeds.war。
  5. 建完工程后需要修改一下Context root,右键-> Properties -> Flex Server -> Context root 改成/BlazeApp.
  6. 在src目录下新建包demo,在包下新建类HelloWorld,代码如下
    package demo;
    
    public class HelloWorld {
    	
    	public String sayHello(String name){
    		System.out.println("Hello "+name);
    		return "Hello "+name;
    	}
    }
    
     
  7. 修改WebContent/WEB-INF/flex/remoting-config.xml,在其中加入
    <destination id="Hello">
           <properties>
               <source>demo.HelloWorld</source>
           </properties>
    </destination>
     
  8. 修改BlazeApp.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.rpc.events.ResultEvent;    
          [Bindable]    
          private var helloResult:String;   
          
          private function sayHello():void {    
            ro.sayHello(inputText.text);    
            }    
            
           private function resultHandler(event:ResultEvent):void {    
              helloResult = event.result as String;    
           } 
           
       ]]>   
    </mx:Script >
    <mx:RemoteObject id="ro" destination="Hello" result="resultHandler(event)"/>
    <mx:HBox x="0" y="10" width="100%">
       <mx:Label text="Name:" id="nameLabel"/>
       <mx:TextInput id="inputText"/>
       <mx:Button label="say Hello" id="nameButton" click="sayHello()"/>
       <mx:Label id="resultLabel" text="{helloResult}"/>
    </mx:HBox>
    
    </mx:Application>
    
     
  9. 运行项目,在浏览器中输入http://localhost:8080/BlazeApp/BlazeApp.html,试试看~

注:在Flex4中运行上面例子可能会报错,需要在定义RemoteObject的的时候加上如下参数

 endpoint="messagebroker/amf"  
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值