標籤:flex java blazeds
首先來簡單介紹一下BlazeDS。 BlaseDS的核心功能包括RPC Services(遠端程序呼叫服務) 和Messaging Service(Message Service)。BlazeDS是一個基於伺服器的Java遠程調用(remoting)和web訊息傳遞(messaging)技術,使得背景Java應用程式可以和運行在瀏覽器上的Flex應用程式能夠互相通訊。簡單來說一個BlazeDS應用程式套件括用戶端(Flex或AIR應用程式)和一個服務端(J2EE程式)。BlazeDS在期間起著承上啟下的作用,Flex和BlazeDS可以通過RemoteObject,HttpService,WebService三種。而Flex和Java通過BlazeDS通訊最常用的是Object形式的,這樣不僅能大大簡化彼此的操作,而且這種通訊方式通過AMF(AMF協議是ActionMessage Format協議)大大提高了通訊速度,提高了使用者的體驗度。
a
更多BlazeDS的知識,請看細細品味Flex——BlazeDS開發指南 和百科:BlazeDS百科。
下邊簡單看一個搭建Flex+BlazeDS+J2EE的簡單項目。
首先Flex項目和Web項目的整合方法有三種:1,各自獨立開發;2Flex項目整合Web功能;3,Web項目整合Flex功能。其實開發出來的結果都是一樣的,只不過途徑方式不同,需要我們注意的是Flex的各種路徑。這裡看一下Flex項目整合Web功能的方式。
一,建立一個Flex項目:
Next目錄相關設定,然後 Next,點擊完成即可
產生項目的結構圖:
二,添加J2EE功能:右擊Flex項目,進行添加,選擇J2EE5.0完成即可。
項目整合完畢,變成了J2EE的項目,看一下目錄檢視:
三,項目開發,建立一個Java類:
package com.test;public class HelloJavaFlex {public String helloJavaFlex(String name){System.out.println("Java通訊了");return "Hello" + name;}}
在WebRoot下的flex下services-config.xml中添加:
<destination id="helloJavaFlex"><properties><source>com.test.HelloJavaFlex</source></properties></destination>
在FlexHello.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.ResultEvent;import mx.controls.Alert;public function remotingHelloJavaFlex():void{var logNam: String = namInputTxt.text;remoteHello.helloJavaFlex(logNam);remoteHello.addEventListener(ResultEvent.RESULT, getRoHelloRes);}private function getRoHelloRes(e: ResultEvent) :void {Alert.show(e.result.toString());}]]></mx:Script><mx:RemoteObject destination="helloJavaFlex" id="remoteHello"></mx:RemoteObject><mx:Button label="JAVA+FLEX通訊" click="remotingHelloJavaFlex();" x="121" y="96" fontSize="12"width="209"/><mx:Label text="姓名:" x="121" y="55" fontSize="12"/><mx:TextInput id="namInputTxt" x="170" y="55"/></mx:Application>
然後部署Tomcat,進行右擊FlexHello.mxml進行訪問,Flex和Java進行了通訊。這就是最簡單的flex+BlazeDS+J2ee進行通訊。