Flex+JAVA+BlazeDS開發環境配置(Java工程和Flex工程獨立)
2019年12月07日
閱讀數:7
這篇文章主要向大家介紹Flex+JAVA+BlazeDS開發環境配置(Java工程和Flex工程獨立),主要內容包括基礎應用、實用技巧、原理機制等方面,希望對大家有所幫助。
[url]http://blog.csdn.net/assin/article/details/4277403[/url]
不管是哪一種服務器端技術都可以很輕松地應用 XML,由于 XML 徹底是一個基于文本的協議。像 XML 這樣基于文本的協議的缺點是額外的數據抽象層的編寫與維護工做相對很沉重。此外,若是數據須要序列化和反序列化,那么這個數據抽象層在客戶端和服務器端都會占用不少資源。
Flash Player 能夠支持另一種傳輸協議,這個協議可以緩解由基于文本的協議致使的傳輸瓶頸問題,可以幫助開發者以更簡單的方式與服務器交互。這就是 AMF(Action Message Format)。它是一個二進制格式的協議,可以替代用于傳輸XML的基于文本的協議而在 HTTP 協議之上交換數據。采用 AMF 的應用中,數據抽象層徹底能夠省去,客戶與服務器間的通信效率比傳統的應用基于文本的協議傳輸要高得多。
BlazeDS 中包含了 AMF 的 Java 實現,能夠用來與服務器端的 Java 對象遠程交互,也能夠用來在客戶端之間傳遞消息。開發人員能夠借助 BlazeDS 的遠程技術簡單地調用 POJO、Spring 服務或EJB方法。開發人員能夠經過其消息系統從客戶端向服務器端發送消息,固然也可從服務器端向客戶端發送消息。
BlazeDS 也能夠與其余一些消息系統結合使用,好比JMS、ActiveMQ。因為其遠程技術與消息系統采用的方式是在 HTTP 協議上傳輸 AMF 數據,BlazeDS 所以在性能上擁有很大優點,同時也避免了額外的數據抽象層的處理工做。BlazeDS 在不少基于 Java 的應用服務器環境下都能正常工做,這些服務器包括 Tomcat、WebSphere、WebLogic、JBoss 以及 ColdFusion。此外,不管是 web(在 Flash Player 中運行)仍是桌面(在Adobe AIR下運行)的 Flex 應用程序中,BlazeDS 的使用都很簡單。
簡單來講 BlazeDS是一個基于服務器的 Java 遠程調用和 Web 消息傳遞技術,它可以讓后臺的 Java 應用程序和運行在瀏覽器上的 Flex 應用程序相互通訊。BlazeDS 是 Adobe 的一個開源項目,里面提供了 Java 封裝 AMF3 格式的方法。下面經過一個 HelloWorld 的例子對它作一個初步的了解。
1、所需的軟件:
MyEclipse + Tomcat 6.0 + Flex Builder 3 + BlazeDS,軟件的下載請直接問 goole。
2、配置服務器端(MyEclipse + Tomcat 6.0 + BlazeDS)
1. 先將 BlazeDS 壓縮包解開,而后找到 blazeds.war 再用 winrar 解開。
2. 打開 MyEclipse,配置 Tomcat 服務器:Window -> Preferences -> MyEclipse -> Application Servers -> Tomcat -> Tomcat 6.x 配置 Tomcat home directory 為 Tomcat 的安裝路徑,同時選擇 Tomcat server -> Enable。
3. 接下來,在 MyEclipse 中建立一個 Web Project,工程名 blazeds_project。
5. 在左側視圖中選中 WebRoot 右鍵 -> Import -> FileSystem -> 選擇 BlazeDS 安裝目錄下的 blazeds 文件夾。選中后打勾,Finish。出現 Override 提示框,選擇 Yes To All。
6. 下面在本工程的 src 目錄下編寫一個 Java 類(包名 blog.sina.yyy98,類名 HelloWorld):
package blog.sina.yyy98;
public class HelloWorld {
public String getHello() {
return "Hello World";
}
}
7. java 類寫好了,下面要在 remoting-config.xml 中聲明這個類(黑體字部分):
class="flex.messaging.services.RemotingService">
blog.sina.yyy98.HelloWorld
8. 好了,大功告成,如今將這個項目部屬到 Tomcat 中,而后啟動 Tomcat。
3、建立 Flex 客戶端
1. 新建一個 Flex 項目,名稱為 flex_client,選擇 Application server type:J2EE。
2. 這是關鍵的一步,Root folder 為剛剛在 Tomcat 中部署的 blazeds_project 項目路徑。為了保持一致性,Root URL 和 Context root 中的相對路徑的名稱都與該 web 項目名稱保持相同。這三項內容填寫好后,須要點擊 “Validate Configuration” 按鈕,進行配置驗證(此時最好讓 Tomcat 處于開啟狀態)。驗證完成后點擊 Finish。
3. 最后編寫客戶端(flex_client.mxml):
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(), "失敗");
}
]]>
destination="helloWorld"
result="resultHandler(event)"
fault="faultHandler(event)"/>
AS 表示法:
var remoteObject:RemoteObject = new RemoteObject();
remoteObject.destination = "helloWorld";
remoteObject.addEventListener(ResultEvent.RESULT, resultHandler);
remoteObject.addEventListener(FaultEvent.FAULT, faultHandler);
4. Ok,完成。運行 felx_client,收到服務器端返回的 “Hello World” 字符串。