在过去,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)这样的格式创建期望的时间间隔。