在ColdFusion和J2EE之間共享數據
在過去,ColdFusion和WebSphere并不是被看好的一對組合。 但是,隨著ColdFusion MX的出現,這個狀況變了。 本文將向開發者介紹如何把他們的ColdFusion代碼配置進WebSphere Application Server J2EE環境。
介紹
ColdFusion標注語言( CFML)是一門很容易學的腳本語言。基于ColdFusion標記的程序設計模型考慮到快速網絡開發的需要,并且這個模型固有的簡明性使得Internet應用程序開發對于廣大開發者都成為可能。
在本文中,我們將介紹用于IBM WebSphere Application Server(簡稱Application Server)的Macromedia ColdFusion MX可以在ColdFusion和J2EE組件之間共享會話變量。我們將介紹如何使這兩個強大的產品成為最佳的組合。
本文將講述如何配置ColdFusion MX,和Application Server共享會話數據。
使用ColdFusion MX管理員界面使其能夠使用會話內存變量
在開始之前,請保證用于IBM WebSphere Application Server的ColdFusion MX正在運行。
1. 登錄到ColdFusion MX管理員界面,可使用下面的幾種方法中的一種:
o 選擇 開始>程序> Macromedia ColdFusion MX J2EE > ColdFusion MX Administrator,或者
o 打開一個瀏覽器,輸入
http://<server:port>/<cfmx_contextroot>/CFIDE/administrator/index.cfm
o 例如, http://localhost/cfmx/CFIDE/administrator/index.cfm
2. 從ColdFusion MX管理員界面中,從主菜單的服務器設置中選擇內存變量(Memory Variables),如圖1所示:
圖1:從服務器設置中選擇內存變量

3. 在下一個面板中,保證Use J2EE session variables(使用J2EE會話變量)和Enable Session Variables(允許使用會話變量)這兩個選項被選中,如圖⒉所示。點擊Submit Changes(提交更改)來應用所做出的更改。
圖2允許使用J2EE會話變量

4. 重新啟動用于IBM WebSphere Application Server的ColdFusion MX。
恭喜你,你已經成功的允許使用J2EE會話管理。
應用程序開發
在本節,我們將進入兩個"登錄"示例應用程序。 第一個應用程序,名為CFMXSESSIONA,將介紹一個Java開發者如何使用在ColdFusion中創建的會話對象。第二個,名為CFMXSESSIONB,將介紹一個ColdFusion開發者如何使用在Java中創建的會話對象。
允許使用用于ColdFusion MX應用程序的會話管理
在CFMXSESSIONA中,ColdFusion需要創建和管理會話對象。ColdFusion使用一個<cfapplication>標記,這個標記在名為Application.cfm的文件中(在CFMX根目錄下的網絡應用程序的根目錄中),來定義了應用程序的設置,如圖3所示。
圖3網絡應用程序根目錄中的APPLICATION.CFM文件

NAME屬性定義了ColdFusion MX應用程序名,如下面列表1所示。 這是一個使用會話變量所需的屬性。
列表1CFAPPLICATION的NAME屬性
<cfapplication name="CFMXSESSIONA" clientmanagement="no" sessionmanagement="yes" sessiontimeout="#createtimespan(0,0,15,0)#">
接下來,我們通過設置sessionmanagement屬性為YES,允許在你的ColdFusion MX應用程序里使用會話變量,如列表2所示。
目錄2允許使用ColdFusion MX應用程序的會話管理
<cfapplication name="CFMXSESSIONA" clientmanagement="no" sessionmanagement="yes" sessiontimeout="#createtimespan(0,0,15,0)#">
選擇性地,就象我們在示例應用程序中所做的一樣,你可能覆蓋定義在ColdFusion管理界面中的默認會話超時時間間隔,通過明確地指定sessiontimeout期望的時間間隔(見列表2)。 我們使用ColdFusion函數createtimespan,以(Days,Hours,Minutes,Seconds)這樣的格式創建期望的時間間隔。