Flex+J2EE 之小記
Jack. Wang 2008-9-10(本待完善...)
wbjeasygo@163.com
由于本人也是初學(xué)者(剛看了兩天視頻),所以請(qǐng)高手指點(diǎn),這里贊下 blog 名叫交口稱贊的兄弟,他在flex 方面是行家,謝謝了。
摘要:最近晚上抽出點(diǎn)時(shí)間寫(xiě)了這篇文章,關(guān)于 Flex 開(kāi)發(fā)方面的語(yǔ)言和架構(gòu),介紹了大家都熟悉的分層結(jié)構(gòu),著重介紹視圖層(flex 實(shí)現(xiàn)),服務(wù)控制層和領(lǐng)域模型層,并按照嚴(yán)格分層,高解耦合性并結(jié)合 Flex 技術(shù)實(shí)驗(yàn)了一個(gè)用戶管理小模塊,案例不是目的,重要的是介紹開(kāi)發(fā)思想。本文第一部分介紹 Flex 相關(guān)技術(shù)以及 ActionStript3.0 語(yǔ)言。第二部分介紹開(kāi)發(fā)實(shí)例的開(kāi)發(fā)過(guò)程,代碼可以下載,亮點(diǎn)在接口工程。由于本人 flex 經(jīng)驗(yàn)不足,在以后的工作中會(huì)不斷補(bǔ)充。
關(guān)鍵字:Flex, J2EE, 架構(gòu)
1. Flex 介紹
FLEX,是Rich Internet Applications時(shí)代的牛×產(chǎn)物Rich Internet Applications,翻譯成中文為富因特網(wǎng)應(yīng)用程序。傳統(tǒng)網(wǎng)絡(luò)程序的開(kāi)發(fā)是基于頁(yè)面的、服務(wù)器端數(shù)據(jù)傳遞的模式,把網(wǎng)絡(luò)程序的表示層建立于HTML頁(yè)面之上,而HTML是適合于文本的,傳統(tǒng)的基于頁(yè)面的系統(tǒng)已經(jīng)漸漸不能滿足網(wǎng)絡(luò)瀏覽者的更高的、全方位的體驗(yàn)要求了,這就是被Macromedia公司稱之為的“體驗(yàn)問(wèn)題”,而富因特網(wǎng)應(yīng)用程序的出現(xiàn)也就是為了解決這個(gè)問(wèn)題。
Flex最重要的兩個(gè)技術(shù)要數(shù)AS和MXML, MXML 和 HTML 一樣是標(biāo)記語(yǔ)言,它描述了反映內(nèi)容與功能的用戶界面。與 HTML 不同的是,MXML 可對(duì)表示層邏輯與用戶界面和服務(wù)器端數(shù)據(jù)綁定提供聲明抽象。MXML 可將表示與業(yè)務(wù)邏輯的問(wèn)題徹底分開(kāi),以實(shí)現(xiàn)最大程度地提高開(kāi)發(fā)人員的生產(chǎn)率及應(yīng)用程序的重復(fù)使用率。MXML 的開(kāi)發(fā)基礎(chǔ)是在迭代過(guò)程上,這與其他類型的 Web 應(yīng)用程序文件如 HTML、JSP、ASP是相同的。開(kāi)發(fā) MXML 應(yīng)用程序就象打開(kāi)一個(gè)文件編輯器一樣簡(jiǎn)單,只要輸入一些標(biāo)簽、保存文件,然后在 Web 瀏覽器上打開(kāi)文件 URL 即可。
MXML 文件同時(shí)也是普通的 XML 文件,所以可以選擇多種開(kāi)發(fā)環(huán)境。可以在簡(jiǎn)單文件編輯器、專用 XML 編輯器或是支持文件編輯的集成開(kāi)發(fā)環(huán)境 (IDE) 中進(jìn)行開(kāi)發(fā)。由于 MXML 符合 W3C XML 方案的定義,您也可以使用結(jié)構(gòu)化編輯,如代碼著色和代碼提示。 MXML和HTML間最大區(qū)別:前者定義的應(yīng)用是編譯的SWF文件,執(zhí)行于FlashPlayer客戶端中。后者是基于頁(yè)面技術(shù)的應(yīng)用。因此前者能提供更豐富的、動(dòng)態(tài)的UI。MXML不支持Flash的某些特性,例如:時(shí)間軸。但是可以利用Flash設(shè)計(jì)組件并應(yīng)用在Flex中。MXML應(yīng)用可以是一個(gè)MXML文件,也可以是多個(gè)MXML組成,MXML支持MXML文件形式的自定義組件、ActionScript文件形式的自定義組件以及在Flash中建立的自定義組件。 FLEX試圖通過(guò)提供一個(gè)程序員們已經(jīng)熟知的工作流和編程模型,讓程序員比從前更快更簡(jiǎn)單地開(kāi)發(fā)動(dòng)畫(huà)及RIA應(yīng)用。在多層式開(kāi)發(fā)模型中,F(xiàn)LEX應(yīng)用屬于表現(xiàn)層。FLEX的語(yǔ)言和文件結(jié)構(gòu)也試圖把應(yīng)用程序的邏輯從設(shè)計(jì)中分離出來(lái)
總之,flex 是未來(lái)界面開(kāi)發(fā)的一個(gè)好方向,據(jù)我了解很多公司都要求員工要學(xué)習(xí) flex 技術(shù),可見(jiàn) flex 受歡迎的程度。
2 .ActionStript3.0 特性介紹
ActionScript 是針對(duì) Adobe Flash Player 運(yùn)行時(shí)環(huán)境的編程語(yǔ)言,它在 Flash 內(nèi)容和應(yīng)用程序中實(shí)現(xiàn)了交互性、數(shù)據(jù)處理以及其它許多功能,ActionScript 是由 Flash Player 中的 ActionScript 虛擬機(jī) (AVM) 來(lái)執(zhí)行的。ActionScript代碼通常被編譯器編譯成“字節(jié)碼格式” ,有點(diǎn)類似 java 的處理和運(yùn)行機(jī)制。變過(guò) C#,Java和javascript程序的朋友,肯定能在 ActionScript 中找到這些語(yǔ)言的影子。
2.1內(nèi)置命名空間和自定義命名空間
四個(gè)內(nèi)置修飾符:
自定義命名空間:
使用關(guān)鍵字namespace定義命名空間,聲明屬性和方法時(shí),應(yīng)用命名空間。
AS 代 碼:
2.2 Local 變量特點(diǎn)
與java不同的是,在as3中,變量沒(méi)有塊級(jí)作用域(即兩人大括號(hào)中間),如果在一個(gè)塊內(nèi)聲明了一個(gè)變量,比如一個(gè)for循環(huán)內(nèi)聲明了一個(gè)變量,它在該代碼所在整個(gè)函數(shù)內(nèi)都是可訪問(wèn)的
Object 類本身就是動(dòng)態(tài)類,當(dāng)然也可以用 dynamic 關(guān)鍵字來(lái)聲明一個(gè)類,所謂動(dòng)態(tài)就是在運(yùn)行時(shí)可以對(duì)類追加屬性和方法。
2.4 定義函數(shù)的兩種方式:函數(shù)語(yǔ)句和函數(shù)表達(dá)式
2.5 在as3中也有arguments對(duì)象,功能基本上和javascript中的一樣。
arguments 對(duì)象是一個(gè)數(shù)組,其中包括傳遞給函數(shù)的所有參數(shù),arguments.length 屬性報(bào)告?zhèn)鬟f給函數(shù)的參數(shù)數(shù)量,(避免將 "arguments" 字符串作為參數(shù)名,因?yàn)樗鼘⒄诒?arguments 對(duì)象)
function traceArgArray(x:int):void
{
for (var i:uint = 0; i < arguments.length; i++) {
trace(arguments[i]);
}
}
traceArgArray(1, 2, 3);
// 輸出:
// 1
// 2
// 3
當(dāng)然也可以用類似 java 的形式 function traceArgArray(x: int, args)
2.6 在as3中允許定義同名的靜態(tài)屬性和實(shí)例屬性

1class StaticTest {
2 static var message:String = "static variable";
3 var message:String = "instance variable"; }
4 var myST:StaticTest = new StaticTest();
5trace(StaticTest.message); // 輸出:靜態(tài)變量 trace(myST.message); // 輸出:實(shí)例變量
2.7 在as中有一個(gè)叫做set和get存取器的東西,類似JavaBean,但又有所不同。
class GetSet {
private var privateProperty:String;
public function get publicAccess():String{
return privateProperty;
}
public function set publicAccess(setValue:String):void { privateProperty = setValue;
}
}
3 個(gè)人實(shí)驗(yàn)介紹
案例是超級(jí)簡(jiǎn)單的,開(kāi)發(fā)Web 應(yīng)用的,不管你是基于 J2EE,.net 平臺(tái)還是其他的 PHP 等等都很熟悉分層架構(gòu),其中五層是最熟悉不過(guò)的了,一般分為表示層,控制層,服務(wù)層,模型層和數(shù)據(jù)層,有的公司干脆就把服務(wù)層和模型層合并起來(lái)和控制層合并在一起,基于分層的開(kāi)發(fā)可以橫向也可以縱向,由于引入 flex 技術(shù),因?yàn)椴⒉皇撬腥硕级?flex 開(kāi)發(fā)方式,盡管他和傳統(tǒng)的 Swing, SWT,GWT開(kāi)發(fā)很相近 ,不過(guò)這樣需求分析時(shí)可以構(gòu)建可演進(jìn)的原型系統(tǒng),界面也很 RIA。
人們常提面向接口編程于是經(jīng)常看到 IUser user=new User();這樣的代碼,似乎就是在用接口,但是 new 的動(dòng)作還是有依賴,于是人們用一些設(shè)計(jì)模式比如 Factory, Proxy,反射等等模式,后來(lái)又有了更好的依賴注入,似乎很完美了,可人們又陷進(jìn)了過(guò)度設(shè)計(jì),其實(shí)接口應(yīng)用比直接用原類要多耗費(fèi)幾個(gè)機(jī)械指令 User user=new User(),而且在一個(gè)內(nèi)聚的組件中盡量用對(duì)象直接連接,該分開(kāi)的時(shí)候我們?nèi)ビ媒涌诜郑涌诘哪康氖菫榱顺橄螅橄蟮哪康氖菫榱私怦睢?br /> 本開(kāi)發(fā)為了把模型層和服務(wù)層完全分開(kāi),引入接口工程,也就是單獨(dú)開(kāi)發(fā)一個(gè)工程來(lái)設(shè)計(jì)接口,這個(gè)工程有設(shè)計(jì)師開(kāi)發(fā)。 用戶接口和工廠接口這兩個(gè)類在單獨(dú)的工程里開(kāi)發(fā),以便于模型和服務(wù)層同步開(kāi)發(fā)。 在服務(wù)層不能對(duì)外暴露 IUser 接口,而他也要接受數(shù)據(jù),這里用的是 UserVO 對(duì)象來(lái)封裝數(shù)據(jù),服務(wù)層不操作模型層的任何實(shí)現(xiàn)類,這樣這兩層之間完全解耦,當(dāng)接口工程和實(shí)現(xiàn)完成時(shí)候打成 jar 包到 web 工程下 Flex 開(kāi)發(fā)和 HTML開(kāi)發(fā)有很大的不同,客戶端和服務(wù)端交互的不是 HTML 而是 XML,所以在服務(wù)器端 的 Servlet 就應(yīng)該輸出 XML 流到客戶端。 最后 Flex 也是一個(gè)單獨(dú)的工程,通過(guò) HTTPService 和 Web 服務(wù)器端交互數(shù)據(jù)。
下載:我的實(shí)驗(yàn)代碼
其他視頻資料:http://www.aygfsteel.com/Jack2007/archive/2008/09/05/227125.html
參考文獻(xiàn)
1.http://ezen.javaeye.com/blog/107397
2.http://www.nshen.net/blog/article.asp?id=555
3. http://blog.csdn.net/mozilla/archive/2007/08/23/1756761.aspx
4.http://hi.baidu.com/jlhh/blog/item/225aea197716b77adab4bd7f.html
5.http://yexin218.javaeye.com/blog/203032
6.http://yexin218.javaeye.com/blog/203032
7.http://www.aygfsteel.com/realsmy/archive/2008/01/17/176054.html
8. http://daoger.javaeye.com/blog/204694
9. http://www.aygfsteel.com/alps/archive/2008/07/23/216940.html
10.http://xy-z487.javaeye.com/blog/238074
11.http://www.pin5i.com/showtopic-19682.html
12. http://goday.blogbus.com/logs/13402716.html
13. http://www.flashas.net/html/Flex/20070525/1779.html
14. http://www.bluejia.cn/blog/?action=show&id=18
Jack. Wang 2008-9-10(本待完善...)
wbjeasygo@163.com
由于本人也是初學(xué)者(剛看了兩天視頻),所以請(qǐng)高手指點(diǎn),這里贊下 blog 名叫交口稱贊的兄弟,他在flex 方面是行家,謝謝了。
摘要:最近晚上抽出點(diǎn)時(shí)間寫(xiě)了這篇文章,關(guān)于 Flex 開(kāi)發(fā)方面的語(yǔ)言和架構(gòu),介紹了大家都熟悉的分層結(jié)構(gòu),著重介紹視圖層(flex 實(shí)現(xiàn)),服務(wù)控制層和領(lǐng)域模型層,并按照嚴(yán)格分層,高解耦合性并結(jié)合 Flex 技術(shù)實(shí)驗(yàn)了一個(gè)用戶管理小模塊,案例不是目的,重要的是介紹開(kāi)發(fā)思想。本文第一部分介紹 Flex 相關(guān)技術(shù)以及 ActionStript3.0 語(yǔ)言。第二部分介紹開(kāi)發(fā)實(shí)例的開(kāi)發(fā)過(guò)程,代碼可以下載,亮點(diǎn)在接口工程。由于本人 flex 經(jīng)驗(yàn)不足,在以后的工作中會(huì)不斷補(bǔ)充。
關(guān)鍵字:Flex, J2EE, 架構(gòu)
1. Flex 介紹
FLEX,是Rich Internet Applications時(shí)代的牛×產(chǎn)物Rich Internet Applications,翻譯成中文為富因特網(wǎng)應(yīng)用程序。傳統(tǒng)網(wǎng)絡(luò)程序的開(kāi)發(fā)是基于頁(yè)面的、服務(wù)器端數(shù)據(jù)傳遞的模式,把網(wǎng)絡(luò)程序的表示層建立于HTML頁(yè)面之上,而HTML是適合于文本的,傳統(tǒng)的基于頁(yè)面的系統(tǒng)已經(jīng)漸漸不能滿足網(wǎng)絡(luò)瀏覽者的更高的、全方位的體驗(yàn)要求了,這就是被Macromedia公司稱之為的“體驗(yàn)問(wèn)題”,而富因特網(wǎng)應(yīng)用程序的出現(xiàn)也就是為了解決這個(gè)問(wèn)題。
Flex最重要的兩個(gè)技術(shù)要數(shù)AS和MXML, MXML 和 HTML 一樣是標(biāo)記語(yǔ)言,它描述了反映內(nèi)容與功能的用戶界面。與 HTML 不同的是,MXML 可對(duì)表示層邏輯與用戶界面和服務(wù)器端數(shù)據(jù)綁定提供聲明抽象。MXML 可將表示與業(yè)務(wù)邏輯的問(wèn)題徹底分開(kāi),以實(shí)現(xiàn)最大程度地提高開(kāi)發(fā)人員的生產(chǎn)率及應(yīng)用程序的重復(fù)使用率。MXML 的開(kāi)發(fā)基礎(chǔ)是在迭代過(guò)程上,這與其他類型的 Web 應(yīng)用程序文件如 HTML、JSP、ASP是相同的。開(kāi)發(fā) MXML 應(yīng)用程序就象打開(kāi)一個(gè)文件編輯器一樣簡(jiǎn)單,只要輸入一些標(biāo)簽、保存文件,然后在 Web 瀏覽器上打開(kāi)文件 URL 即可。
MXML 文件同時(shí)也是普通的 XML 文件,所以可以選擇多種開(kāi)發(fā)環(huán)境。可以在簡(jiǎn)單文件編輯器、專用 XML 編輯器或是支持文件編輯的集成開(kāi)發(fā)環(huán)境 (IDE) 中進(jìn)行開(kāi)發(fā)。由于 MXML 符合 W3C XML 方案的定義,您也可以使用結(jié)構(gòu)化編輯,如代碼著色和代碼提示。 MXML和HTML間最大區(qū)別:前者定義的應(yīng)用是編譯的SWF文件,執(zhí)行于FlashPlayer客戶端中。后者是基于頁(yè)面技術(shù)的應(yīng)用。因此前者能提供更豐富的、動(dòng)態(tài)的UI。MXML不支持Flash的某些特性,例如:時(shí)間軸。但是可以利用Flash設(shè)計(jì)組件并應(yīng)用在Flex中。MXML應(yīng)用可以是一個(gè)MXML文件,也可以是多個(gè)MXML組成,MXML支持MXML文件形式的自定義組件、ActionScript文件形式的自定義組件以及在Flash中建立的自定義組件。 FLEX試圖通過(guò)提供一個(gè)程序員們已經(jīng)熟知的工作流和編程模型,讓程序員比從前更快更簡(jiǎn)單地開(kāi)發(fā)動(dòng)畫(huà)及RIA應(yīng)用。在多層式開(kāi)發(fā)模型中,F(xiàn)LEX應(yīng)用屬于表現(xiàn)層。FLEX的語(yǔ)言和文件結(jié)構(gòu)也試圖把應(yīng)用程序的邏輯從設(shè)計(jì)中分離出來(lái)
總之,flex 是未來(lái)界面開(kāi)發(fā)的一個(gè)好方向,據(jù)我了解很多公司都要求員工要學(xué)習(xí) flex 技術(shù),可見(jiàn) flex 受歡迎的程度。
2 .ActionStript3.0 特性介紹
ActionScript 是針對(duì) Adobe Flash Player 運(yùn)行時(shí)環(huán)境的編程語(yǔ)言,它在 Flash 內(nèi)容和應(yīng)用程序中實(shí)現(xiàn)了交互性、數(shù)據(jù)處理以及其它許多功能,ActionScript 是由 Flash Player 中的 ActionScript 虛擬機(jī) (AVM) 來(lái)執(zhí)行的。ActionScript代碼通常被編譯器編譯成“字節(jié)碼格式” ,有點(diǎn)類似 java 的處理和運(yùn)行機(jī)制。變過(guò) C#,Java和javascript程序的朋友,肯定能在 ActionScript 中找到這些語(yǔ)言的影子。
2.1內(nèi)置命名空間和自定義命名空間
四個(gè)內(nèi)置修飾符:
1 public :對(duì)所有代碼可見(jiàn)
2 private: 只對(duì)類內(nèi)部可見(jiàn)
3 internal :只對(duì)定義所在的同一包內(nèi)可見(jiàn)
4 protected :對(duì)同一包以及不同包的子類可見(jiàn)
2 private: 只對(duì)類內(nèi)部可見(jiàn)
3 internal :只對(duì)定義所在的同一包內(nèi)可見(jiàn)
4 protected :對(duì)同一包以及不同包的子類可見(jiàn)
自定義命名空間:
使用關(guān)鍵字namespace定義命名空間,聲明屬性和方法時(shí),應(yīng)用命名空間。
AS 代 碼:
1
2
Namespace testSpace="org.blogjava.jm/testSpace ";
3
testSpace myfunction2():void{}
4
5
use mySpace2;
6
myfunction2(); //調(diào)用使用 use 關(guān)鍵字打開(kāi)命名空間

2

3

4

5

6

2.2 Local 變量特點(diǎn)
與java不同的是,在as3中,變量沒(méi)有塊級(jí)作用域(即兩人大括號(hào)中間),如果在一個(gè)塊內(nèi)聲明了一個(gè)變量,比如一個(gè)for循環(huán)內(nèi)聲明了一個(gè)變量,它在該代碼所在整個(gè)函數(shù)內(nèi)都是可訪問(wèn)的
1
function myFunction():void{
2
for(var i:int=0;i<5:i++){
3
var last:int = i;
4
}
5
trace(last); //last 在 for 中定義但可以在 for 塊外面訪問(wèn)到,個(gè)人覺(jué)得這樣設(shè)計(jì)欠妥,盡管很方便。
6
}
2.3 Dynamic 類 
2

3

4

5

6

Object 類本身就是動(dòng)態(tài)類,當(dāng)然也可以用 dynamic 關(guān)鍵字來(lái)聲明一個(gè)類,所謂動(dòng)態(tài)就是在運(yùn)行時(shí)可以對(duì)類追加屬性和方法。
1
dynamic class Protean{}
2
var myProtean:Protean = new Protean();
3
myProtean.name = "jack.wang";
4
myProtean.password = 3;
5
trace(myProtean. name , myProtean.password );

2

3

4

5

2.4 定義函數(shù)的兩種方式:函數(shù)語(yǔ)句和函數(shù)表達(dá)式
1
//函數(shù)語(yǔ)句聲明
2
Function fun1():void{}
3
4
//函數(shù)表達(dá)式聲明
5
var fun2:Function = function():void{}
6
//函數(shù)表達(dá)式聲明的函數(shù)是不能夠被垃圾回收的,必須顯示的調(diào)用 delete 命令。
7
var t:Test = new Test(); //t是動(dòng)態(tài)類Test的一個(gè)實(shí)例
8
t.funt = function(){};//把一個(gè)函數(shù)聲明為t的一個(gè)屬性
9
delete t.funt; //刪除剛才新增的函數(shù),我們剛才聲明的函數(shù)也被回收了
10

2

3

4

5

6

7

8

9

10

2.5 在as3中也有arguments對(duì)象,功能基本上和javascript中的一樣。
arguments 對(duì)象是一個(gè)數(shù)組,其中包括傳遞給函數(shù)的所有參數(shù),arguments.length 屬性報(bào)告?zhèn)鬟f給函數(shù)的參數(shù)數(shù)量,(避免將 "arguments" 字符串作為參數(shù)名,因?yàn)樗鼘⒄诒?arguments 對(duì)象)












2.6 在as3中允許定義同名的靜態(tài)屬性和實(shí)例屬性






2.7 在as中有一個(gè)叫做set和get存取器的東西,類似JavaBean,但又有所不同。








3 個(gè)人實(shí)驗(yàn)介紹
案例是超級(jí)簡(jiǎn)單的,開(kāi)發(fā)Web 應(yīng)用的,不管你是基于 J2EE,.net 平臺(tái)還是其他的 PHP 等等都很熟悉分層架構(gòu),其中五層是最熟悉不過(guò)的了,一般分為表示層,控制層,服務(wù)層,模型層和數(shù)據(jù)層,有的公司干脆就把服務(wù)層和模型層合并起來(lái)和控制層合并在一起,基于分層的開(kāi)發(fā)可以橫向也可以縱向,由于引入 flex 技術(shù),因?yàn)椴⒉皇撬腥硕级?flex 開(kāi)發(fā)方式,盡管他和傳統(tǒng)的 Swing, SWT,GWT開(kāi)發(fā)很相近 ,不過(guò)這樣需求分析時(shí)可以構(gòu)建可演進(jìn)的原型系統(tǒng),界面也很 RIA。
人們常提面向接口編程于是經(jīng)常看到 IUser user=new User();這樣的代碼,似乎就是在用接口,但是 new 的動(dòng)作還是有依賴,于是人們用一些設(shè)計(jì)模式比如 Factory, Proxy,反射等等模式,后來(lái)又有了更好的依賴注入,似乎很完美了,可人們又陷進(jìn)了過(guò)度設(shè)計(jì),其實(shí)接口應(yīng)用比直接用原類要多耗費(fèi)幾個(gè)機(jī)械指令 User user=new User(),而且在一個(gè)內(nèi)聚的組件中盡量用對(duì)象直接連接,該分開(kāi)的時(shí)候我們?nèi)ビ媒涌诜郑涌诘哪康氖菫榱顺橄螅橄蟮哪康氖菫榱私怦睢?br /> 本開(kāi)發(fā)為了把模型層和服務(wù)層完全分開(kāi),引入接口工程,也就是單獨(dú)開(kāi)發(fā)一個(gè)工程來(lái)設(shè)計(jì)接口,這個(gè)工程有設(shè)計(jì)師開(kāi)發(fā)。 用戶接口和工廠接口這兩個(gè)類在單獨(dú)的工程里開(kāi)發(fā),以便于模型和服務(wù)層同步開(kāi)發(fā)。 在服務(wù)層不能對(duì)外暴露 IUser 接口,而他也要接受數(shù)據(jù),這里用的是 UserVO 對(duì)象來(lái)封裝數(shù)據(jù),服務(wù)層不操作模型層的任何實(shí)現(xiàn)類,這樣這兩層之間完全解耦,當(dāng)接口工程和實(shí)現(xiàn)完成時(shí)候打成 jar 包到 web 工程下 Flex 開(kāi)發(fā)和 HTML開(kāi)發(fā)有很大的不同,客戶端和服務(wù)端交互的不是 HTML 而是 XML,所以在服務(wù)器端 的 Servlet 就應(yīng)該輸出 XML 流到客戶端。 最后 Flex 也是一個(gè)單獨(dú)的工程,通過(guò) HTTPService 和 Web 服務(wù)器端交互數(shù)據(jù)。
下載:我的實(shí)驗(yàn)代碼
其他視頻資料:http://www.aygfsteel.com/Jack2007/archive/2008/09/05/227125.html
參考文獻(xiàn)
1.http://ezen.javaeye.com/blog/107397
2.http://www.nshen.net/blog/article.asp?id=555
3. http://blog.csdn.net/mozilla/archive/2007/08/23/1756761.aspx
4.http://hi.baidu.com/jlhh/blog/item/225aea197716b77adab4bd7f.html
5.http://yexin218.javaeye.com/blog/203032
6.http://yexin218.javaeye.com/blog/203032
7.http://www.aygfsteel.com/realsmy/archive/2008/01/17/176054.html
8. http://daoger.javaeye.com/blog/204694
9. http://www.aygfsteel.com/alps/archive/2008/07/23/216940.html
10.http://xy-z487.javaeye.com/blog/238074
11.http://www.pin5i.com/showtopic-19682.html
12. http://goday.blogbus.com/logs/13402716.html
13. http://www.flashas.net/html/Flex/20070525/1779.html
14. http://www.bluejia.cn/blog/?action=show&id=18
本博客為學(xué)習(xí)交流用,凡未注明引用的均為本人作品,轉(zhuǎn)載請(qǐng)注明出處,如有版權(quán)問(wèn)題請(qǐng)及時(shí)通知。由于博客時(shí)間倉(cāng)促,錯(cuò)誤之處敬請(qǐng)諒解,有任何意見(jiàn)可給我留言,愿共同學(xué)習(xí)進(jìn)步。