亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > 綜合 > 正文

Coldfusion MX技巧精華收集(1)

2024-07-21 23:03:56
字體:
來源:轉載
供稿:網友
Coldfusion 結合 Access 中文顯示問題
作者: Kyle 12/11/02 

內容: 

首先,在每一頁要傳遞和處理中文的頁面頂部加上如下代碼(也可以放在application.cfm里,但在有些情況下會有問題): 

<cfprocessingdirective pageencoding="gb2312"> 
<cfcontent type="text/html; charset=gb2312"> 
<cfset setEncoding("URL", "gb2312")> 
<cfset setEncoding("Form", "gb2312")> 

注:如果你使用Dreamweaver MX,可以在菜單Insert里用CFPageEncoding來插入以上代碼(確認你的Windows系統的地域設置是簡體中文)。 

以上步驟無論你是否使用數據庫,只要要處理中文變量都需要的。 

下面來解決Ms Access 的問題。 
CFMX的ODBC service, 和ODBC Socket Driver的缺省配置不支持雙字節字符,所以就算你加上了以上的代碼只是解決了CFMX處理中文的問題,所有傳到ODBC的中文還是會有問題,要讓ODBC service和ODBC Socket Driver支持中文,必須修改其缺省模式,方法如下: 

確認系統services里ColdFusion MX ODBC Agent 和 ColdFusion MX ODBC Server services兩個服務起來了。 

找到你的cfmx安裝的路徑,如果是c:/Cfusionmx 的話在dos提示符下運行這行命令 

c:/cfusionmx/db/slserver32/admin/setcp.bat OS (注意OS是大寫) 

成功的話,會有如下提示: 

DataDirect SequeLink Manager Version 5.2 (build 0092) 
(c) Copyright 1995-2000 MERANT, Inc., All rights reserved 


然后把ColdFusion MX ODBC Agent 和 ColdFusion MX ODBC Server services兩個服務重新激活,或把系統重開。 

這時在ms access里用中文就真的沒問題了 以上方法在在winnt4+cfmx+access97 和win2k server+cfmx+access2002上均成功。 

注:如果要恢復原來的設置運行如下命令: 
c:/cfusionmx/db/slserver32/admin/setcp.bat default 

要看例子在這里 
http://vvjohn.dyndns.org:8500/study/chinese.cfm 
其它一些關于在cfmx中中文要注意的地方 
cfmx 不允許用中文做文件名 
當然更不能在cfinclude等中使用帶中文的文件名。 
不能用使用Encrypt和Decrypt來處理中文


內容: 

與.NET、XML 和 Web 服務整合 
利用嵌入式 XML 文檔分析、XSL 轉換和資料到 XML 的自動串行化,輕松地與 XML 資料整合。將 web 服務整合到自己的應用程序中,或利用基于標準的 web 服務引擎出版自己的 Web 服務。 

運用 CF 組件構建高級應用程序 
利用標準 CFML 建立自存盤、可重用的組件。ColdFusion MX 組件能讓一次編寫組件,然后從 ColdFusion MX 頁或 Macromedia Flash 客戶機調用,或作為 web 服務調用,從而使定制標記更上一層樓。 

毫不費力地使用或出版WED服務 
使用一行程序代碼就能從的應用程序調用Web服務,也可以使用ColdFusion組件和基于標準的Web服務引擎出版自己的web服務. 

運用 Macromedia Dreamweaver MX 節省開發時間 
通過結合強大的可視化設計工具和剛重新設計的程序代碼編輯器,Dreamweaver MX 可提供穩健的應用程序開發、快速的可視化原型設計、整合的調試以及對 ColdFusion MX 新語言組件和功能的全面支持。 

提高性能和可靠性 
通過利用 Java 平臺久經考驗的性能和可靠性,提高站點響應性和可用性。運用共享變量鎖定和帶有共享內存變量的簡化鎖定配置,加速大量應用程序的開發。 

運用動態圖表繪制和 Macromedia Flash 遠程服務使的站點更加引人入勝 
運用快速、安全的協議將 ColdFusion MX 的資料傳遞給 Macromedia Flash 客戶機,并利用 Macromedia Flash MX 創作環境對 ColdFusion MX 調試的全面支持,輕松地建立豐富應用程序。使用增強的繪圖功能,包括多資料級數支持、完全可定制的輸出和報表類型、批報表和挖掘功能。 

運用強大的新調試功能加快開發進度 
運用可從 Macromedia Dreamweaver MX IDE 內訪問的增強錯誤訊息、可定制的跟蹤和更好的輸出組織,更快地找到錯誤。 

輕松地將現有的應用程序遷移到 ColdFusion MX Foundation 
通過遵循完整的遷移指南,并運用程序代碼兼容性分析器識別任何潛在問題,快速升級現有的服務器。 

使的應用程序國際化
運用嵌入式 UNICODE 支持,構建支持基于字符的語言(漢語、日語或韓語)的應用程序。 

就像 ColdFusion MX 定制標記一樣重用 JSP 標記庫 
通過重用 ColdFusion MX 內的組件提高效率。 導入 JSP 標記庫,并象使用 ColdFusion MX 定制標記一樣使用 JSP 標記,或整合 CFML 頁和 Java servlets。

內容: 

為應用程序加上安全防護
ColdFusion 企業版本身內建了一套安全防護架構。然而如果你無法取得企業版的 ColdFusion 服務器,或者不想使用內建的安全機制,那么你也可以建構一套自己的應用程序安全防護功能。在這里我們提供一些實作想法,好讓你有個開端。 

首先你得先建立好一個樣版(template),內含一個使用者登入窗體,該窗體里面必須包含 UserName 以及 Password 這兩個字段。請把這個檔案儲存成為 loginform.cfm,日后當使用者未經過認證時,該使用者便會被導向到這個登入頁面。 

在 ColdFusion 環境里面,一個應用程序的相關定義與參數設定是記錄在 application.cfm 這個檔案里面的,而這個檔案正是用來放置應用程序范圍安全機制相關程序的最佳地點。在這里我們將會使用一個使用者狀態(session)變量來記錄使用者的認證狀態(雖然你也可以改用客戶端變量(client variable)來實作這項功能)。 

<CFPARAM NAME="SESSION.VALIDATED" DEFAULT="No"> 
一旦我們定義好 SESSION.VALIDATED 這個變量,接下來便可以檢查使用者是否已經通過認證: 

<CFIF SESSION.VALIDATED IS "No"> 
一旦我們發現使用者尚未通過認證,我們便可以透過一連串程序代碼來檢查使用者是否來自登入窗體頁面,然后比對使用者輸入的帳號與密碼是否有效,最后便可讓使用者通過認證程序。在這個程序的任何一個階段里面,如果使用者未經授權,我們便把該使用者導向到登入窗體頁面,并且停止執行接下來的任何程序代碼。請參考下面這段范例程序,里面的批注會說明每個步驟的功能與用處。 

<!--- 如果使用者是來自登入窗體頁面... --->
<CFIF ISDEFINED("FORM.Password") AND ISDEFINED("FORM.UserName")>
<!--- 根據接收到的使用者名稱,到數據庫中查詢該使用者的資料 --->
<CFQUERY NAME="CheckPassword" DATASOURCE="mydsn">
SELECT UserName, Password
FROM Users
WHERE (UserName = '#FORM.UserName#')
</CFQUERY> 

<!--- 如果密碼正確,則授與該使用者存取這個應用程序的權力 --->
<CFIF FORM.PASSWORD IS #CheckPassword.Password#> 

<!--- 讓使用者通過認證 --->
<CFSET SESSION.VALIDATED = "Yes"> 

<!--- 如果密碼不正確,則再次顯示登入窗體 --->
<CFELSE> 

<CFINCLUDE TEMPLATE="/mypath/loginform.cfm">
<CFABORT> 

</CFIF> 

<!--- 如果窗體變量是處于未定義狀態,表示使用者并非來自于登入窗體頁面,因此我們顯示登入窗體。 --->
<CFELSE> 

<CFINCLUDE TEMPLATE="/mypath/loginform.cfm">
<CFABORT> 

</CFIF> 

<!--- 如果 SESSION.VALIDATED 變量的值已經是 YES 了,表示使用者之前已經通過認證。略過安全性檢查,繼續執行應用程序的其它部分。 --->
</CFIF> 

如果你把上面這段程序代碼放在 application.cfm 里面,那么它便可以為你的整個應用程序提供基本的安全機制。

讓客戶端變量逾期
這些方式的其中之一便是客戶端變量(client variable)。客戶端變量和使用者狀態變量(session variables)類似,不同之處在于使用者狀態變量是儲存在 ColdFusion 服務器的內存中,而客戶端變量則是儲存在 cookie 里面,Windows 注冊數據庫(Windows registry)或者外部的數據庫服務器里面。這項差異乍看之下并不太重要,然而如果你使用一系列 ColdFusion 服務器搭配組成負載平衡(load-balance)環境的話,這項差異性就變得非常關鍵了。 

在負載平衡服務器環境之下,你永遠無法得知哪一部服務器會被指定來處理哪一個使用者發出的請求。負載平衡硬件或者軟件純粹僅是將接收到的使用者請求傳遞給當時負載最輕的服務器來處理。在這樣的狀況下我們無法正常運用使用者狀態變量,因為某部服務器上面儲存的使用者狀態變量,對于其它服務器而言都是不可見的。每當負載平衡硬件(或者軟件)將同一個使用者從某部伺服器重新導向到另一部服務器(亦即:該使用者的某次請求被分配給 A 服務器來處理,而下一次請求卻被分配給 B 服務器來處理),使用者狀態變量便會立刻消失不見。 

要解決這個問題的方法之一便是使用客戶端變量,將使用者相關信息儲存在另一部所有參與負載平衡的服務器皆可存取得到的外部數據庫里面。然而這項作法本身卻又會帶來其它必須考量的問題,特別是如果你要透過客戶端變量來儲存儲存敏感性或者安全性資料的時候。你可以設定讓客戶端變量在某段時間之后便過期失效,但是這個時間間隔最短只能設定成一天。如果你儲存的是使用者認證相關資料,你應該會想要讓這段逾期時間設定成更短,例如十五分鐘。要做到這項短時間逾期功能,你只需要多加一些額外的 CFML 程序代碼。 

我建立了另一個稱作 CF_ClientTimeout 的自訂卷標來替你處理這個問題。同樣地,你可以直接在 Allaire 公司的開發情報交換中心網站上下載使用。這個卷標透過日期與時間相關函數來把目前時間與使用者上一次存取某個頁面的時間加以比對,如果兩者的時間差距大于你自己設定的某個時間長度,那么該使用者的相關信息便會被視為已經逾期并且失去效用。如果你在 applicaiton.cfm 這個檔案里面使用這個卷標,那么這個卷標便會在同一個應用程序里面的所有頁面里頭進行這項時間比對工作。相關的程序代碼如下: 

<CFPARAM NAME="CLIENT.CheckLastVisit" DEFAULT="#CreateODBCDateTime(Now())#">
<CFSET Compare = DateCompare(DateAdd("n", (ATTRIBUTES.TimeOut * -1), CreateODBCDateTime(Now())), CLIENT.CheckLastVisit)> 

<CFIF Compare IS NOT -1> 

<CFSET CALLER.TimedOut = "Yes"> 

<CFELSE> 

<CFSET CALLER.TimedOut = "No"> 

</CFIF> 

<CFSET CLIENT.CheckLastVisit = CreateODBCDateTime(Now())> 

如果你輸入 TimeOut 變量的值為 30(TimeOut = 30),那么使用者便會在連續三十分鐘沒有作任何動作之后,被系統視為已經逾期。一旦被系統視為逾期,下一次該使用者試圖再次存取某個頁面的時候,這個自訂卷標便會傳回 TimeOut 變量的值為「Yes」,你可以使用一個 CFIF 敘述來判斷這個變量值,并且將逾期使用者的相關客戶端變量刪除掉,或者修改某個認證變量的值(例如將 CLIENT.VALIDATED 變量的值設定成「No」,CLIENT.VALIDATED = "No"),并且接著執行一段使用者登入程序。

善用應用程序變量
應用程序變量(Application variables)對于同一個應用程序中的所有頁面來說都是可隨時叫用的。通常這類變量都是設定在 application.cfm 這個檔案里面,但是它們也可以在其它單一頁面里面設定。應用程序變量對于儲存整個應用程序共享的資料來說非常有用,例如資料來源名稱,絕對路徑或者顏色設定資料等等。 

為了展示一下應用程序變量的用處,在這里我打算說明如何以應用程序變量來儲存顏色設定資料。雖然 4.0 以及更新版本等支持 CSS 的瀏覽器占有率日漸提高,還是有很多使用者仍然在繼續使用舊版瀏覽器。如果你仍在使用 <FONT> 卷標來設定文字樣式,并且使用 color 屬性來設定表格與文字的顏色,那么你應該心知肚明當日后要修改網站的顏色設定的時候,你的惡夢就要開始了!使用 ColdFusion,我們可以用另一種更輕松有效的方式來設定頁面的各種顏色:那就是把色彩設定儲存在應用程序變量里面。一旦你把顏色設定透過應用程序變量儲存起來,你就可以透過變量名稱來參照到這些顏色,而非直接將色彩名稱(或者 16 進位色碼)直接寫在程序里面。進一步來看,你只需要修改這些應用程序變量的值,那么所有相關的頁面中的顏色就會一起改變。 

在你的 application.cfm 檔案里面,你可以設定一個應用程序變量讓它的值包含一個空白結構(結構是一個鍵-值配對或者一個二維數組): 

<CFSCRIPT>
application.colors=structNew();
</CFSCRIPT> 
這樣一來你便有了一個名為 Application.Colors 的應用程序變量了,該變量的值是一個空白結構。接下來你便可以將需要用的顏色名稱儲存在這個空白結構里面。下面是一個例子: 

<CFSCRIPT>
application.colors=structNew();
application.colors.body='FFFFFF';
application.colors.text='708090';
application.colors.link='C0F171';
application.colors.blue='131E63';
application.colors.red='C01531';
application.colors.yellow='FFFFE6';
</CFSCRIPT> 
現在在你的頁面里頭你便不再需要將顏色名稱直接寫進去,只要直接參照 Application.Colors 里面的變量就可以了。舉例來說,在 <BODY> 卷標里面你可以使用下面這樣的寫法: 

<CFOUTPUT>
<BODY
BGCOLOR="#application.colors.body#" 
TEXT="#application.colors.text#"
LINK="#application.colors.link#">
</CFOUTPUT> 
你可以把這個技巧應用在表格,框線或者其它任何使用到顏色屬性的地方。如此一來,你便可以很輕松地隨時調整網站的顏色設定,因為所有的顏色都儲存在同一個地方,修改起來非常容易。 

記得適時鎖定
在讀取或者設定應用程序(application),使用者狀態(session)或者服務器這些范圍的變量的時候,很重要的一點是在適當的變量范圍內使用 CFLOCK 卷標進行變量的鎖定。CFLOCK 卷標可以確保共享資料的完整與一致性,在高流量的服務器上面,這項工作尤顯重要。如果你需要更多這方面的資料,請閱讀你的使用說明文件,或者參考 ColdFusion 開發者期刊(ColdFusion Developer's Journal)網站上面的這篇文章。
 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲xxxx做受欧美| 亚洲成人aaa| 国产精品久久久久久久久久小说| 国产在线精品成人一区二区三区| 久久国产精品99国产精| 国内偷自视频区视频综合| 欧美精品videos性欧美| 亚洲一区二区三区乱码aⅴ| 欧美国产激情18| 欧美风情在线观看| 久久免费国产精品1| 日本免费一区二区三区视频观看| 97视频在线免费观看| 亚洲毛片一区二区| 午夜欧美大片免费观看| 日韩av网站大全| 久久97精品久久久久久久不卡| 国产在线精品成人一区二区三区| 国产精品自拍视频| 欧美精品在线免费播放| 国产v综合ⅴ日韩v欧美大片| 日本久久亚洲电影| 国产成人综合一区二区三区| 亚洲人成网站在线播| 国产不卡av在线免费观看| 亚洲国产精品人人爽夜夜爽| 热re99久久精品国产66热| 国产网站欧美日韩免费精品在线观看| 中文字幕亚洲欧美日韩在线不卡| 欧美—级a级欧美特级ar全黄| 日韩不卡中文字幕| 日韩成人激情在线| 亚洲一区美女视频在线观看免费| 欧美日韩999| 欧美日韩成人在线播放| 在线亚洲欧美视频| 91香蕉国产在线观看| 在线播放日韩精品| 国产精品电影网| 国产精品影片在线观看| 在线观看成人黄色| 日韩精品在线视频观看| 8090成年在线看片午夜| 亚洲香蕉成人av网站在线观看| 日韩有码在线视频| 中文字幕视频在线免费欧美日韩综合在线看| 亚洲跨种族黑人xxx| 国产亚洲人成网站在线观看| 欧美在线观看网址综合| 色99之美女主播在线视频| 欧美成人一区在线| 在线播放国产一区二区三区| 中文字幕一区二区三区电影| 欧美午夜激情视频| 亚洲欧美另类人妖| 日韩中文字幕欧美| 欧美富婆性猛交| 国产亚洲欧洲高清一区| 欧美激情中文字幕乱码免费| 欧美另类极品videosbest最新版本| 久久影视电视剧免费网站清宫辞电视| 欧美午夜女人视频在线| 91av福利视频| 欧美猛交免费看| 亚洲精品suv精品一区二区| 欧美人在线视频| 日韩欧美亚洲国产一区| 精品无码久久久久久国产| 91sa在线看| 亚洲久久久久久久久久| 俺去了亚洲欧美日韩| 国产精品视频白浆免费视频| 91久久综合亚洲鲁鲁五月天| 欧美激情视频三区| 国产又爽又黄的激情精品视频| 97久久久免费福利网址| 97在线精品国自产拍中文| 国产精品xxxxx| 青草热久免费精品视频| 亚洲电影免费观看高清完整版在线观看| 日韩中文字幕不卡视频| 国产精品久久久久久久天堂| 亚洲精品成人久久久| 亚洲最大福利视频网| 欲色天天网综合久久| 精品国产乱码久久久久久虫虫漫画| 91久久久久久久久久久久久| 亚洲影视中文字幕| 久久躁狠狠躁夜夜爽| 超碰日本道色综合久久综合| 日韩av第一页| 大胆人体色综合| 91精品国产综合久久香蕉922| 欧美网站在线观看| 美日韩精品免费观看视频| 国产日韩精品在线| 精品女同一区二区三区在线播放| 欧美极品欧美精品欧美视频| 国内外成人免费激情在线视频| 久久久综合免费视频| 欧美成人全部免费| 亚洲午夜未满十八勿入免费观看全集| 亚洲一区精品电影| 怡红院精品视频| 精品一区二区三区四区在线| 欧美色图在线视频| 九九视频这里只有精品| 色婷婷**av毛片一区| 精品夜色国产国偷在线| 日韩av影视在线| 国产精品美女久久久久久免费| 日日骚久久av| 日韩综合视频在线观看| 欧美激情三级免费| 国产精品欧美日韩久久| 欧美日韩亚洲网| 91精品国产色综合久久不卡98口| 精品人伦一区二区三区蜜桃免费| 久久久av一区| 日本道色综合久久影院| 国产午夜精品视频| 日韩中文字幕不卡视频| 在线观看精品自拍私拍| 国产一区二区三区中文| 91精品久久久久久综合乱菊| 日韩欧美视频一区二区三区| 国产精品视频久久久久| 欧美日韩成人在线视频| 91精品中文在线| 国产精品视频免费在线| 欧美一级成年大片在线观看| 日本不卡高字幕在线2019| 国产精品人成电影| 黑人巨大精品欧美一区二区| 久久国产一区二区三区| 亚洲a成v人在线观看| 国产精品久久久久久久久男| 久久精品国产2020观看福利| 欧美日韩电影在线观看| 精品人伦一区二区三区蜜桃免费| 精品视频中文字幕| 国产精品国内视频| 亚洲第一二三四五区| 91网站在线看| 日韩国产在线看| 日本成人黄色片| 欧美在线视频播放| 在线观看视频亚洲| 亚洲午夜av电影| 亚洲人成电影网站色xx| 日韩精品在线观看一区二区| 国产噜噜噜噜久久久久久久久| 亚洲一区二区在线播放| 亚洲综合社区网| 精品精品国产国产自在线| 国产精品小说在线| 欧美另类老女人| 在线播放国产一区二区三区| 国产精品久久网| 欧美性猛交99久久久久99按摩| 日韩中文字幕在线视频| 日韩免费av在线| 亚洲国产精品va在线看黑人| 国产精品色午夜在线观看|