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

FireFly與ColdFusion開發(fā)攻略

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

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

本篇教程不合適: 懶鬼

序言

ColdFusionMX能干什么?

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

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

FireFly是什么?

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

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

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

FireFly能干什么?

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

FireFly不能干什么?

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

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

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

在根本的都介紹過了以后,進入本篇教程的正題。

環(huán)境的裝備

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

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

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

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

Firefly組件開發(fā)詳解


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

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

接下來就跟著下面的過程做:

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

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

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

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

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

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