日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[AS3 狂想曲 K.07] BlazeDS 入门及配置 [FL 车在臣]

發布時間:2023/12/18 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [AS3 狂想曲 K.07] BlazeDS 入门及配置 [FL 车在臣] 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
轉自[url]http://blog.sina.com.cn/s/blog_3ecb9b110100b2qu.html[/url]

[AS3 狂想曲 K.07] BlazeDS 入門及配置 [FL 車在臣] (2008-10-04 18:57:43)
標簽:flash as flex blazeds 配置 helloworld myeclipse tomcat amf it 分類:AS3 狂想曲

無論是哪種服務器端技術都能夠很輕松地應用 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 的例子對它做一個初步的了解。

一、所需的軟件:
MyEclipse + Tomcat 6.0 + Flex Builder 3 + BlazeDS,軟件的下載請直接問 goole。

二、配置服務器端(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 中聲明這個類(黑體字部分):
<?xml version="1.0" encoding="UTF-8"?>
<service id="remoting-service"
class="flex.messaging.services.RemotingService">

<adapters>
<adapter-definition id="java-object" class="flex.messaging.services.remoting.adapters.JavaAdapter" default="true"/>
</adapters>

<default-channels>
<channel ref="my-amf"/>
</default-channels>

<destination id="helloWorld">
<properties>
<!-- 這里要寫完整路徑:包名 + 類名 -->
<source>blog.sina.yyy98.HelloWorld</source>
</properties>
</destination>
</service>


8. 好了,大功告成,現在將這個項目部屬到 Tomcat 中,然后啟動 Tomcat。

三、創建 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):
<?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>

<!-- destination 屬性值要和 remoting-config.xml 中 destination 的 id 一致-->
<mx:RemoteObject id="remoteObject"
destination="helloWorld"
result="resultHandler(event)"
fault="faultHandler(event)"/>

<mx:Button label="發送消息" click="remoteObject.getHello()" x="256.5" y="197"/>
</mx:Application>
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” 字符串。

總結

以上是生活随笔為你收集整理的[AS3 狂想曲 K.07] BlazeDS 入门及配置 [FL 车在臣]的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。