快速业务通道

在ColdFusion和J2EE之间共享数据 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23
发者可以使用单一的整合的解决方案工作。

在Java中访问ColdFusion MX创建的会话对象

在"在ColdFusion MX中创建会话"这节, 我们定义了一个ColdFusion struct集合对象来存储我们的属性。 在Java中,你可能把ColdFusion struct对象解释为一个java.util.Map(见表1)。 因此,Map是我们将使用来存取会话结构内容的数据类型。

ColdFusion注册session结构为定义在<CFAPPLICATION>标记中的name属性值(见列表1)。 因此,我们可以在一个Java页面中访问ColdFusion创建的会话对象,在我们的例子DisplaySession.jsp中,通过调用标准getAttribute方法,把返回对象强制转化为一个java.util.Map,如列表7所示。

列表7取得CFMX会话对象并把它强制转化为一个java.util.Map

//// Get the CFMX Created Session Object //// The CF Session is automatically named as the CFAPPLICATION''s /// NAME attribute value //// map = (java.util.Map) session.getAttribute("CFMXSESSIONA");

在ColdFusion和J2EE之间共享数据(4)

时间:2010-12-14

因为会话内容被作为一个java.util.Map结构被保存,我们可以调用标准get方法来访问它的值,如列表8所示。

列表8 使用get方法访问值

<%-- Display session variables --%> <tr> <td align="right" class="label" width="250">USERID</td> <td width="300"><%= map.get("USERID") %></td> </tr> <tr> <td align="right" class="label">USERNAME</td> <td><%= map.get("USERNAME")%></td> </tr><tr> <td align="right" class="label">ROLE:</td> <td><%= map.get("ROLE")%></td> </tr><tr> <td align="right" class="label">SESSION CREATED IN:</td> <td><b><%= map.get("SESSIONCREATEDBY")%></b></td> </tr>

在ColdFusion MX中访问Java创建的会话对象

既然我们已经从ColdFusion MX共享数据到Java,让我们从相反的方向来考虑这个问题。 在本节,我们将在一个名为DisplaySession.cfm的ColdFusion页面中访问Java创建的会话对象。 ColdFusion开发者可以通过使用createObject函数在一个ColdFusion页面内创建" Java "对象。 我们将需要创建三个Java对象,如列表9所示。

列表9、创建必要的Java对象

<!-- Create Java objects within CF ---> <cfset REQ=createObject("Java","javax.servlet.http. HttpServletRequest")> <cfset SES=createObject("Java","javax.servlet.http.HttpSession")> <cfset MAP=createObject("Java","java.util.Map")>

现在,我们必须取得一个被传送到javax.servlet.http.HttpServletRequest对象中的java.servlet.http.HttpSession会话对象。 一旦这步完成,我们可以通过调用会话的getAttribute方法访问会话对象,如列表10中所示。

列表10、于访问会话对象的Java方法

<!--- Get the HttpServletRequest ---> <cfset REQ = GetPageContext().getRequest()> <!--- Get the HttpSession ---> <cfset SES = req.getSession()> <!--- Get the CFMX session object (java.util.Map) ---> <cfset MAP = ses.getAttribute("CFMXSESSIONB")>

因为Col

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号