收藏的ColdFusionMX应用技巧及问题集
作者:
1.为什么在CFMX中设定通过的<cfcookie>移植到了cf5中失效?
回答:CF5.0中<cfcookie>和<cflocation>是不能直接放在同一个页面的。检测你的页面代码查看是否有这两个标签共用一个页面的现象。这个问题在cfmx里不会出现。但是,一但应用于CF5,就会出现cookie失效的问题。
2.在浏览器中使用代理服务器,会对CFMX应用的本地调试产生问题么?
回答:一定会产生问题的。在使用http://localhost:8500/xxx的路径进行cfmx应用测试时,点击浏览器的"Toos->Internet Options...->Connections->Lan Settings...",确认不使用proxy Server,如果你使用的话,在调试的过程中,很多数据库应用会出现Tcp/IP的错误,实际上,你的应用是没有错误的,而是这个proxy server的选项在作怪。
3.ColdFusion中的Cookie是否有不同的设置?如果有,是否有必要在同一个Project中使用不同的设置方法?
回答:ColdFusion中的Cookie有不同的设置方式。默认方式是临时存储的,也就是关闭浏览器,Cookie即消逝。这种Cookie我们可以使用<cfset Cookie.CookieName="xxx">来设定,也可以使用<cfparam>方式来设定。设定这样的Cookie可以用于判断一个用户在一个应用中的某一次单独访问中的停留时间,购物车中的物品等临时变量。当我们需要设定一个长时间的Cookie时,请使用<cfcookie>来设定,因为Expires属性将长时间保留该Cookie的值。
4.多台不同的ip映射的服务器是否可以识别同一个cookie?
回答:可以。但是都应该以xxx.Domain.com的类型开始,使用2级域名,然后在CF中设定cookie的时候使用path属性进行控制,如<cfCookie Name="xxx" Value="xxx" Domain=".Domain.com">。
5.为什么我在cf administrator中设定的虚拟映射不起作用?这与所在操作系统有关系么?
回答:在windows操作系统中,要特别注意物理路径对应虚拟路径的映射配置。cfmx updater3修正了在cfmx administrator中添加一个虚拟映射无效的问题。另外,如果个别服务器的配置还是有问题,请手动修改cf_root\wwwroot\WEB-INF文件夹下的jrun-web.xml文件。例如增加一个虚拟映射到物理D盘的images文件夹,配置方式如下:
<virtual-mapping>
< resource-path>/images/*</resource-path>
<system-path>D:\images</system-path>
< /virtual-mapping>
修改之后重新启动CFMX服务即可。以上问题在Unix和Linux操作系统上不会出现。
6.如何在Unix系统上判断ColdFusionMX服务正常运行?
答:进入图形化的Unix管理界面当然方便。但是有更方便的Command供Web管理员使用。在命令行方式下键入:ps -eaf | grep cfusion。实际上,上述命令就是查看当前系统中的cfusion进程的状况,如果服务运行,会等到类似于下面的信息:
nobody 4528 1 10 12:44 pts/0 00:00:07 /opt/coldfusionmx/runtime/bin/cfusion -start
如果没有得到上述信息,就证明服务进程有问题了。
7.如何在Unix系统上管理coldfusionMX服务(像Windows一样简单么?)?
答:在Unix上的管理CFMX可能比Windows还要简单。先以root权限进入Unix,然后键入:cd cf_root/bin。之后,可以输入不同的命令来管理CFMX的进程:
启动CFMX服务,输入:coldfusion start
停止CFMX服务,输入:coldfusion stop
重启CFMX服务,输入:coldfusion restart
查看CFMX服务性能,输入:coldfusion status