歡迎來(lái)到合肥浪訊網(wǎng)絡(luò)科技有限公司官網(wǎng)
  咨詢服務(wù)熱線:400-099-8848

FireFly與ColdFusion開(kāi)發(fā)攻略

發(fā)布時(shí)間:2019-09-13 文章來(lái)源:本站  瀏覽次數(shù):2742

本篇教程合適: 一切有毅力做持續(xù)性學(xué)習(xí)的朋友

本篇教程不合適: 懶鬼

序言

ColdFusionMX能干什么?

幫你運(yùn)轉(zhuǎn)你的ColdFusion格式文件。包括后綴名為.cfm和.cfc等等類型程序文件(當(dāng)然,你用.cfm的文件包括全是靜態(tài)HTML代碼在ColdFusion上運(yùn)轉(zhuǎn)也沒(méi)人說(shuō)你)。 
內(nèi)置的FlashRemoting可以高效安全快速的向Flash為界面的應(yīng)用傳遞許多的數(shù)據(jù)(眾所周知,通過(guò)get和post傳遞數(shù)據(jù)總是那么不叫人放心),通過(guò)CFMX內(nèi)置的Remoting,不只僅能傳數(shù)據(jù),還能依照開(kāi)發(fā)者的邏輯去處理數(shù)據(jù)。 
ColdFusionMX可以讓你成立自己的公司,做自己的業(yè)務(wù)應(yīng)用,開(kāi)發(fā)自己的產(chǎn)品,體會(huì)自己的成功(此乃后話)。 
ColdFusionMX不能干什么?

幫你找女朋友,或許更多的女朋友。假如你的意圖是這個(gè),請(qǐng)去學(xué)習(xí)運(yùn)用QQ或MSN。 
幫你做飯或許叫你起床。 
還有更多不能幫你做,尤其是不能幫你寫(xiě)程序。假如想寫(xiě)程序,請(qǐng)運(yùn)用自己的腦筋和雙手。 
  上面咱們講到的ColdFusion便是咱們所說(shuō)的“冰”。接下來(lái),咱們要介紹“火”。它便是Macromedia推出的FlashMX全功用數(shù)據(jù)操作組件“FireFly”。

FireFly是什么?

  全名為“Data Connection Kit”,以組件的方法存在于FlashMX中,用于FlashMX開(kāi)宣布可以和后臺(tái)數(shù)據(jù)庫(kù)及多種數(shù)據(jù)格式文件進(jìn)行數(shù)據(jù)協(xié)同操作的東西。真實(shí)意義上講,應(yīng)該是“Data Connection Kit”(以下簡(jiǎn)稱為DCK)這款東西包括“FireFly”這個(gè)Flash的數(shù)據(jù)組件。因?yàn)镈CK中還帶有一款開(kāi)發(fā)者版別的Flash Remoting,所以DCK包括FireFly?墒窃蹅?cè)诰哂辛藢I(yè)或許企業(yè)版別的ColdFusionMX的時(shí)分,就不在需求開(kāi)發(fā)者版別的FlashRemoting。全功用的FlashRemoting已經(jīng)內(nèi)置在CFMX之中。咱們所要的便是DCK中的FireFly組件。所以,在本篇教程中,F(xiàn)ireFly就代表DCK,DCK指的便是FireFly。

FireFly英文文檔說(shuō)了一大堆介紹性廢話,真實(shí)的FireFly的界說(shuō)實(shí)際上便是一句,那便是(大家快拿好小板凳,小鉛筆,小本本仔細(xì)聽(tīng)):

FireFly組件是讓FlashMX同VB,VC,DELPHI和JAVA相同,具有操作后臺(tái)數(shù)據(jù)庫(kù)和數(shù)據(jù)文件的API接口。

FireFly能干什么?

讓FlashMX開(kāi)發(fā)的Flash程序拜訪數(shù)據(jù)庫(kù)或許數(shù)據(jù)文件(如XML)。 
讓FlashMX開(kāi)發(fā)的Flash程序操作數(shù)據(jù)庫(kù)或許數(shù)據(jù)文件(如XML)。 
合起來(lái)操作第一點(diǎn)和第二點(diǎn)(^_^,塔積木的開(kāi)發(fā)程序模式總是那么強(qiáng)壯而有效)。 
FireFly可以同.net.java.cfmx相結(jié)合。一切的邏輯不是都寫(xiě)在Flash里(好安全啊。拖馞lashcom相同,還有許多邏輯是在main.asc中,flash中的邏輯程序是和后臺(tái)彼此呼應(yīng)的。 
*請(qǐng)注意“拜訪”和“操作”的差異,前者可以理解為Select的Query,后者則是insert和update等等。

FireFly不能干什么?

它自己一個(gè)人什么也干不了。就像生小孩,一個(gè)男人或許一個(gè)女人總是不能成氣候。Firefly是十分的,徹底的,火急的需求后臺(tái)數(shù)據(jù)庫(kù)或許數(shù)據(jù)格式文件和他協(xié)同作業(yè)。 
它不能直接喂飽你的肚子。 
相同,它也不能幫你找女朋友。 
FireFly是怎樣作業(yè)的?

  這一段我偷個(gè)懶,F(xiàn)ireFly自帶的協(xié)助對(duì)于它作業(yè)原理的描述實(shí)在是細(xì)致。里邊How does Firefly work就有這個(gè)部分的內(nèi)容。

  1. FireFly Data Engine是一個(gè)層,不是2個(gè)層。Connector/Resolver/DataSet共同構(gòu)成這個(gè)中間層。
  2. 這個(gè)中間層的意義是一個(gè)容器,一個(gè)容納數(shù)據(jù)集合的容器,這個(gè)容器中的數(shù)據(jù)供Flash player調(diào)用和操作。
  3. 這個(gè)層的數(shù)據(jù)處理能力和VB,VC中的數(shù)據(jù)控件實(shí)際上完成相同的功用。

在根本的都介紹過(guò)了以后,進(jìn)入本篇教程的正題。

環(huán)境的裝備

  裝置好FireFly和ColdFusionMX。Firefly的裝置便是“雙擊Setup文件”,然后跟著提示往下裝,直到“Finish”。假如這個(gè)還搞不定,仍是不要看這篇教程了。ColdFusionMX的裝置也是一揮而就,引薦你挑選運(yùn)用端口8500的Standalone模式(本篇教程也選用Standalone模式)。這種模式對(duì)于開(kāi)發(fā)應(yīng)用而言,裝置便是一步到底。

軟件都裝置結(jié)束后,接下來(lái)便是設(shè)定自己的運(yùn)轉(zhuǎn)環(huán)境,請(qǐng)跟著以下過(guò)程做:

  1. 在C:\CFusionMX\wwwroot\途徑下創(chuàng)立一個(gè)文件夾,稱號(hào)叫做“Firecold”。
  2. 在C:\Program Files\Macromedia\Flash MX\Configuration\Firefly\Lib目錄中,找到三個(gè)swf文件。
  3. 將3個(gè)swf文件拷貝到第一步創(chuàng)立的Fireice文件夾中去。
  4. FireFly的組件可以從其本身內(nèi)部映射到你的ColdFusion。Firefly組件可以把CFC和其中可用的辦法都羅列出來(lái)?墒情_(kāi)發(fā)者仍是需求做一件作業(yè)。在途徑C:\Program Files\Macromedia\Flash MX\Configuration\Firefly\CFIDE下找到下圖顯現(xiàn)的文件。
  5. 把FxCFCInfo.cfc文件拷貝到途徑C:\cfusionmx\wwwroot\CFIDE\下。只有這樣,才能讓Firefly組件偵測(cè)ColdFusion cfc Component的功用滿有把握。注,Macromedia官方著重,假如用于產(chǎn)品服務(wù)器布置運(yùn)轉(zhuǎn),請(qǐng)刪除這個(gè)cfc文件,因?yàn)闀?huì)有安全問(wèn)題。
  6. 在DWMX中創(chuàng)立一個(gè)叫做Fireice的運(yùn)用Coldfusion的站點(diǎn)。在fireice下創(chuàng)立一個(gè)叫做employee.cfc的頁(yè)面。很快,咱們就要在這個(gè)頁(yè)面中增加辦法。
  7. Fireice站點(diǎn)中的employee.cfc將要增加操作的辦法。在增加操作的辦法之前,先說(shuō)明一下employee.cfc將用到裝置完CFMX系統(tǒng)后自帶的Data Source,稱號(hào)是exampleapps。各位開(kāi)發(fā)者在ColdFusionMX的數(shù)據(jù)源管理中都能看到這個(gè)DSN,這個(gè)數(shù)據(jù)源用于演示ColdFusion的示例。這個(gè)數(shù)據(jù)庫(kù)也是CFMX裝置后就有的。
  8. 接下來(lái)向employee.cfc中加入操作雇員的2個(gè)辦法。注意,這兩個(gè)辦法的拜訪特點(diǎn)都是remote,是答應(yīng)遠(yuǎn)程懇求的辦法。兩個(gè)辦法回來(lái)的值全部都是Query查詢的數(shù)據(jù)集合。所以,的值和的name特點(diǎn)的值一致。
  9. 為了保險(xiǎn),運(yùn)轉(zhuǎn)一下這個(gè)employee.cfc看看,翻開(kāi)http://localhost:8500/Fireice/employee.cfc。
  10. 在Fireice文件夾中創(chuàng)立一個(gè)Flash文件叫做employee.fla。

好了,環(huán)境根本搭好了,接下來(lái)便是準(zhǔn)備創(chuàng)立Firefly的前臺(tái)應(yīng)用了。

Firefly組件開(kāi)發(fā)詳解


  首要,咱們要做的可以讓Firefly的組件在Flashmx環(huán)境中可以成功的銜接ColdFusionMX的組件,便是方才咱們創(chuàng)立的employee.cfc文件。想想,做這個(gè)應(yīng)用,你的組件連cfc的銜接都不成功,你還玩?zhèn)什么勁啊。所以,首要條件是搞定Firefly同Coldfusion的銜接。

  Firefly同ColdFusionMX的CFC銜接靠什么?當(dāng)然不是在辦公室里大喊“你們倆快給我連上”就完事了。要用到的(也是有必要用到的)便是Firefly的Remoting組件。你可以從FlashMX中找到這個(gè)組件,

接下來(lái)就跟著下面的過(guò)程做:

  1. 翻開(kāi)咱們先前創(chuàng)立的employee.fla。場(chǎng)景多大我不管,你自己決議,只要能放下數(shù)據(jù)組件而且顯現(xiàn)數(shù)據(jù)就行。測(cè)驗(yàn)的時(shí)分感覺(jué)不合適,再調(diào)整也不遲。Firefly Remoting的組件一共有三個(gè)。分別是FxRecordSetConnector、FxRecordSetResover、FxSQLRecordSetConnector(不要被這么長(zhǎng)的姓名唬住了)。顧名思義,咱們首要是要用到FxRecordSetConnector,這個(gè)組件便是創(chuàng)立一個(gè)數(shù)據(jù)拜訪集的銜接器。它拜訪數(shù)據(jù)并回來(lái)符合要求的數(shù)據(jù)集合。說(shuō)白了,就跟asp的recordset干的作業(yè)相同。點(diǎn)擊FxRecordSetConnector并把它拖拽到flashmx的場(chǎng)景中,因?yàn)樗枪τ眯越M件,所以,沒(méi)有圖形界面(GUI),所以它在Flash場(chǎng)景中就顯現(xiàn)一個(gè)小圖標(biāo)。
  2. 接下來(lái)說(shuō)一下FxRecordSetConnector和FxSQLRecordSetConnector的差異。兩者十分類似,可是前者的一切SQL句子都是放在服務(wù)器端的cfc中,后者則是不需求創(chuàng)立cfc文件,將sql句子放在客戶端的flash中。哇!。〖偃缒愀銈(gè)產(chǎn)品服務(wù)器運(yùn)轉(zhuǎn),你自己說(shuō),SQL句子是放在服務(wù)器端安全呢,仍是sql句子被客戶端連同flash一同下載安全呢?因?yàn)榍懊嬖蹅兛吹降腇irefly結(jié)構(gòu)圖中表示firefly傳輸?shù)臄?shù)據(jù)通過(guò)http辦法傳輸,所以FxSQLRecordSetConnector的sql數(shù)據(jù)很容易被人修改成惡意的代碼后再提交。咱們?nèi)允怯肍xRecordSetConnector最好。
  3. 給場(chǎng)景中的這個(gè)組件一個(gè)實(shí)例姓名叫做employee_con。
  4. 在特點(diǎn)面板中點(diǎn)擊發(fā)動(dòng)組件參數(shù),

    緊接著,咱們就看到FxRecrodSetConnector組件的參數(shù)面板
  5. 咱們需求設(shè)定組件參數(shù)面板中的Gateway、Service、Method三個(gè)參數(shù)。實(shí)際上,咱們?cè)贕ateway一欄中輸入以下地址:
    http://localhost:8500/flashservices/gateway
    然后點(diǎn)擊地址右邊的改寫(xiě)的小圖標(biāo),隨后,點(diǎn)擊Service的下拉按鈕,從中選定咱們想要的fireice.employee的服務(wù)即可
  6. 選定了Fireice.employee服務(wù)后,method窗口相同可以挑選對(duì)應(yīng)fireice.employee服務(wù)的辦法。咱們選定UsersList辦法。假如,咱們沒(méi)有把FxCFCInfo.cfc文件拷貝的操作依照咱們上面的要求放在C:\cfusionmx\wwwroot\CFIDE\途徑下,咱們可能改寫(xiě)的操作就失效了,那么就需求手動(dòng)輸入
  7. 現(xiàn)在數(shù)據(jù)集已經(jīng)通過(guò)FxRecordSetConnector懇求回來(lái)了,咱們接下來(lái)需求一個(gè)類似容器的東西來(lái)裝這些數(shù)據(jù)。就像咱們?nèi)コ幸呀?jīng)付帳買(mǎi)了一堆東西,錢(qián)都交了。最終總該有個(gè)大塑料帶來(lái)裝它們。在Flashmx里,咱們進(jìn)一步需求增加一個(gè)Firefly的FxDataSet的組件來(lái)負(fù)責(zé)容納數(shù)據(jù)這個(gè)作業(yè)。
  8. 把FxDataSet組件拖動(dòng)到場(chǎng)景上,給它一個(gè)實(shí)例稱號(hào)叫做employee_ds。
  9. 發(fā)動(dòng)employee_ds的組件參數(shù)面板
  10. 選中Active的框選項(xiàng),這樣才能讓數(shù)據(jù)集收效。
  11. 切換到Fields(數(shù)據(jù)集DataSet字段設(shè)定)面板,依照咱們cfc中employee的query查詢的字段來(lái)對(duì)應(yīng)設(shè)定這兒的內(nèi)容。設(shè)定的字段包括EmployeeID,F(xiàn)irstName,LastName,Title,IsTemp,EMail,Phone,DeptIDFK,Personal。其中EmployeeID的Read Only應(yīng)該選中,因?yàn)樗菙?shù)據(jù)表的主鍵。別的,IsTemp的Type類型選成Boolean的值,只有0和1兩個(gè)值。
  12. 除了EmployeeID和IsTemp兩個(gè)字段以外,咱們需求手動(dòng)修改的只有Label和Name特點(diǎn)。其他都運(yùn)用flash自動(dòng)填入的特點(diǎn)值。
  13. 咱們有必要讓employee_con和employee_ds可以通信,所以,還要做一項(xiàng)匹配的作業(yè)。翻開(kāi)employee_con實(shí)例的組件參數(shù)面板,在Property標(biāo)簽面板中的DataSet中輸入employee_ds。這樣就把兩者聯(lián)系起來(lái)了。
  14. 提到這兒,咱們恍然大悟。原來(lái)Firefly的數(shù)據(jù)操作辦法和ColdFusion如此驚人的類似。!設(shè)定FxRecordSetConnector的數(shù)據(jù)銜接就像設(shè)定ColdFusionMX 數(shù)據(jù)源相同,都是做一個(gè)數(shù)據(jù)庫(kù)的銜接。而FxDataSet所作的作業(yè)就像coldFusionMX的標(biāo)簽相同!做的是數(shù)據(jù)庫(kù)的查詢。最終,還差一點(diǎn)!便是數(shù)據(jù)的顯現(xiàn)!ColdFusionMX用標(biāo)簽輸入出中的字段查詢成果值。而Firefly則需求用FxGrid組件去顯現(xiàn)FxDataSet得到的查詢成果。
  15. 相同在Firefly面板中挑選FxGrid組件,拖拽到場(chǎng)景中,在特點(diǎn)中設(shè)定這個(gè)組件的寬和高的值(依自己喜好設(shè)定)。

    Column Lines是挑選數(shù)據(jù)表輸出時(shí)是否用顯現(xiàn)線分開(kāi)每列數(shù)據(jù)。Dataset設(shè)定成FxDataSet的實(shí)例稱號(hào)employee_ds。Row Lines是是否用顯現(xiàn)線分開(kāi)每行數(shù)據(jù)。Horiz Scroll則是水平方向上是否帶有滾動(dòng)條。
  16. 現(xiàn)在,該測(cè)驗(yàn)一下成果了。存儲(chǔ)文件,用Ctrl+enter來(lái)看看成果

咱們已經(jīng)前進(jìn)了一大步。!是否有成功的喜悅感?后面還有更精彩的。!

上一條:怎么制造出非常漂亮的網(wǎng)頁(yè)...

下一條:網(wǎng)站 LOGO 規(guī)劃簡(jiǎn)論...