用BlazeDS實(shí)現(xiàn)Java和Flex通信_第1頁
用BlazeDS實(shí)現(xiàn)Java和Flex通信_第2頁
用BlazeDS實(shí)現(xiàn)Java和Flex通信_第3頁
用BlazeDS實(shí)現(xiàn)Java和Flex通信_第4頁
用BlazeDS實(shí)現(xiàn)Java和Flex通信_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、Flex+JAVA+BlazeDS開發(fā)環(huán)境配置無論是哪種服務(wù)器端技術(shù)都能夠很輕松地應(yīng)用 XML,因?yàn)?XML 完全是一個基于文本的協(xié)議。像 XML 這樣基于文本的協(xié)議的缺點(diǎn)是額外的數(shù)據(jù)抽象層的編寫與維護(hù)工作相對很沉重。此外,如果數(shù)據(jù)需要序列化和反序列化,那么這個數(shù)據(jù)抽象層在客戶端和服務(wù)器端都會占用很多資源。Flash Player 可以支持另外一種傳輸協(xié)議,這個協(xié)議能夠緩解由基于文本的協(xié)議導(dǎo)致的傳輸瓶頸問題,能夠幫助開發(fā)者以更簡單的方式與服務(wù)器交互。這就是 AMF(Action Message Format)。它是一個二進(jìn)制格式的協(xié)議,能夠替代用于傳輸XML的基于文本的協(xié)議而在 HTTP 協(xié)議

2、之上交換數(shù)據(jù)。采用 AMF 的應(yīng)用中,數(shù)據(jù)抽象層完全可以省去,客戶與服務(wù)器間的通訊效率比傳統(tǒng)的應(yīng)用基于文本的協(xié)議傳輸要高得多。BlazeDS 中包含了 AMF 的 Java 實(shí)現(xiàn),可以用來與服務(wù)器端的 Java 對象遠(yuǎn)程交互,也可以用來在客戶端之間傳遞消息。開發(fā)人員可以借助 BlazeDS 的遠(yuǎn)程技術(shù)簡單地調(diào)用 POJO、Spring 服務(wù)或EJB方法。開發(fā)人員可以通過其消息系統(tǒng)從客戶端向服務(wù)器端發(fā)送消息,當(dāng)然也可從服務(wù)器端向客戶端發(fā)送消息。BlazeDS 也可以與其他一些消息系統(tǒng)結(jié)合使用,比如JMS、ActiveMQ。由于其遠(yuǎn)程技術(shù)與消息系統(tǒng)采用的方式是在 HTTP 協(xié)議上傳輸 AMF 數(shù)據(jù)

3、,BlazeDS 因此在性能上擁有很大優(yōu)勢,同時也避免了額外的數(shù)據(jù)抽象層的處理工作。BlazeDS 在很多基于 Java 的應(yīng)用服務(wù)器環(huán)境下都能正常工作,這些服務(wù)器包括 Tomcat、WebSphere、WebLogic、JBoss 以及 ColdFusion。此外,無論是 web(在 Flash Player 中運(yùn)行)還是桌面(在Adobe AIR下運(yùn)行)的 Flex 應(yīng)用程序中,BlazeDS 的使用都很簡單。簡單來說 BlazeDS是一個基于服務(wù)器的 Java 遠(yuǎn)程調(diào)用和 Web 消息傳遞技術(shù),它能夠讓后臺的 Java 應(yīng)用程序和運(yùn)行在瀏覽器上的 Flex 應(yīng)用程序相互通信。BlazeD

4、S 是 Adobe 的一個開源項(xiàng)目,里面提供了 Java 封裝 AMF3 格式的方法。下面通過一個 HelloWorld 的例子對它做一個初步的了解?!疽弧⑺璧能浖縈yEclipse8.0 + Tomcat 6.0 + Flash Builder 4 + BlazeDS,軟件的下載請直接問google?!径?、配置服務(wù)器端】(MyEclipse + Tomcat 6.0 + BlazeDS)1. 先將 BlazeDS 壓縮包解開,然后找到 blazeds.war 再用 winrar 解開。2. 打開 MyEclipse,配置 Tomcat 服務(wù)器:Window -> Preferenc

5、es -> MyEclipse -> Application Servers -> Tomcat -> Tomcat 6.x 配置 Tomcat home directory 為 Tomcat 的安裝路徑,同時選擇 Tomcat server -> Enable。3. 接下來,在 MyEclipse 中創(chuàng)建一個 Web Project,工程名 remotejf。5. 把blazeds文件夾下的WEB-INF文件夾復(fù)制粘貼到在左側(cè)視圖中的WebRoot中。6. 下面在本工程的 src 目錄下編寫一個 Java 類(包名 com.test,類名 HelloJavaFl

6、ex):package com.test;public class HelloJavaFlex public String helloJavaFlex(String name) return "hello," + name + "您可以使用java和flex通信了!" 7. java 類寫好了,下面要在 remoting-config.xml 中聲明這個類(黑體字部分):<?xml version="1.0" encoding="UTF-8"?><service id="remoting

7、-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

8、 ref="my-amf"/> </default-channels> <destination id="helloJavaFlex"> <properties> <source>com.test.HelloJavaFlex</source> </properties> </destination></service> 8. 好了,大功告成,現(xiàn)在將這個項(xiàng)目部屬到 Tomcat 中,然后啟動 Tomcat?!救?chuàng)建 Flex 客戶端】 1. 新建一個 F

9、lex 項(xiàng)目,名稱為 remotejf(任意取的名字),選擇 Application server type:J2EE。2. 這是關(guān)鍵的一步,Root folder 為剛剛在 Tomcat 中部署的 remotejf項(xiàng)目路徑。為了保持一致性,Root URL 和 Context root 中的相對路徑的名稱都與該 web 項(xiàng)目名稱保持相同。這三項(xiàng)內(nèi)容填寫好后,需要點(diǎn)擊 “Validate Configuration” 按鈕,進(jìn)行配置驗(yàn)證(此時最好讓 Tomcat 處于開啟狀態(tài))。驗(yàn)證完成后點(diǎn)擊 Finish。3. 最后編寫客戶端(remotejf.mxml):<?xml version=

10、"1.0" encoding="utf-8"?><s:Application xmlns:fx=" xmlns:s="library:/ xmlns:mx="library:/ minWidth="955" minHeight="600"><fx:Script> <!CDATA import mx.rpc.events.ResultEvent; import mx.controls.Alert; public function remotingHel

11、loJavaFlex():void var nameText:String=nameInputText.text; remoteHello.helloJavaFlex(nameText); remoteHello.addEventListener(ResultEvent.RESULT,getRomoteMessage); private function getRomoteMessage(e:ResultEvent):void Alert.show(e.result.toString(); > </fx:Script> <fx:Declarations><!

12、- Place non-visual elements (e.g., services, value objects) here -><mx:RemoteObject destination="helloJavaFlex" id="remoteHello" endpoint="/remotejf/messagebroker/amf"> </mx:RemoteObject> </fx:Declarations><s:Label x="144" y="104" text="姓名:" width="47"/> <s:TextInput x="218" y="99" id="nameInputText"/> <s:Button x="203" y="143" label="JA

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論