[點(diǎn)晴永久免費(fèi)OA]ASP基礎(chǔ)入門第十篇(ASP內(nèi)建對(duì)象Server)
Server 對(duì)象提供對(duì)服務(wù)器上的方法和屬性的訪問(wèn) , 其中大多數(shù)方法和屬性是作為實(shí)用程序的功能服務(wù)的。有了 Server 對(duì)象,你就可以在服務(wù)器上啟動(dòng) ActiveX 對(duì)象例程,并使用 Active Server 服務(wù)提供象 HTML 和 URL 編碼這樣的函數(shù)。 一、語(yǔ)法 Server.property|method 二、屬性 scriptTimeout 超時(shí)值,在腳本運(yùn)行超過(guò)這一時(shí)間之后即作超時(shí)處理。如下代碼指定服務(wù)器處理腳本在 100 秒后超時(shí)。 <% Server.scriptTimeout=100 %> 這里需要注意的是,通過(guò)使用元數(shù)據(jù)庫(kù)中的 AspscriptTimeout 屬性可以為 Web 服務(wù)或 Web 服務(wù)器設(shè)置缺省的 scriptTimeout 值。scriptTimeout 屬性不能設(shè)置為小于在元數(shù)據(jù)庫(kù)中指定的值。例如,如果 NumSeconds 設(shè)置為 60,而元數(shù)據(jù)庫(kù)設(shè)置包含了默認(rèn)值 90 秒,則腳本在 90 秒后超時(shí)。 三、方法 1、HTMLEncode 方法 HTMLEncode 方法允許你對(duì)特定的字符串進(jìn)行 HTML 編碼,雖然 HTML 可以顯示大部分你寫(xiě)入 ASP 文件中的文本,但是當(dāng)你需要實(shí)際包含 HTML 標(biāo)記中所使用的字符,就會(huì)遇到問(wèn)題。這是因?yàn)椋?dāng)瀏覽器讀到這樣的字符串時(shí),會(huì)試圖進(jìn)行解釋。例如下面的這段文本 : 會(huì)被瀏覽器顯示為 : 這是對(duì) HTMLEncode 方法的測(cè)試。 為了避免此類問(wèn)題,我們就需要使用 Server 對(duì)象的 HTMLEncode 方法,采用對(duì)應(yīng)的不由瀏覽器解釋的 HTML Character Code 替代 HTML 標(biāo)記字符。所以,用下面的代碼才能顯示正確的 HTMLEncode 字符串,從而在瀏覽器中按你的需要輸出文本。 2、URLEncode 方法 就象 HTMLEncode 方法使客戶可以將字符串翻譯成可接受的 HTML 格式一樣,Server 對(duì)象的 URLEncode 方法可以根據(jù) URL 規(guī)則對(duì)字符串進(jìn)行正確編碼,當(dāng)字符串?dāng)?shù)據(jù)以 URL 的形式傳遞到服務(wù)器時(shí),在字符串中不允許出現(xiàn)空格,也不允許出現(xiàn)特殊字符。為此,如果你希望在發(fā)送字符串之前進(jìn)行 URL 編碼,可以使用 Server.URLEncode 方法。 MapPath 方法將指定的相對(duì)或虛擬路徑映射到服務(wù)器上相應(yīng)的物理目錄上。 語(yǔ)法如下:Server.MapPath(Path) Path 指定要映射物理目錄的相對(duì)或虛擬路徑。若 Path 以一個(gè)正斜杠 (/) 或反斜杠 (\) 開(kāi)始,則 MapPath 方法返回路徑時(shí)將 Path 視為完整的虛擬路徑。若 Path 不是以斜杠開(kāi)始,則 MapPath 方法返回同 .asp 文件中已有的路徑相對(duì)的路徑。這里需要注意的是 MapPath 方法不檢查返回的路徑是否正確或在服務(wù)器上是否存在。 對(duì)于下列示例,文件 data.txt 和包含下列腳本的 test.asp 文件都位于目錄 C:\Inetpub\Wwwroot\asp 下。C:\Inetpub\Wwwroot 目錄被設(shè)置為服務(wù)器的宿主目錄。下列示例使用服務(wù)器變量 PATH_INFO 映射當(dāng)前文件的物理路徑。以下腳本 輸出 c:\inetpub\wwwroot\asp\test.asp 由于下列示例中的路徑參數(shù)不是以斜杠字符開(kāi)始的,所以它們被相對(duì)映射到當(dāng)前目錄,此處是目錄 C:\Inetpub\Wwwroot\asp。以下腳本 輸出 4、createObject 方法 Server.createObject 恐怕是 ASP 中最為實(shí)用,也是最強(qiáng)勁的功能了。它用于創(chuàng)建已經(jīng)注冊(cè)到服務(wù)器上的 ActiveX 組件實(shí)例。這是一個(gè)非常重要的特性,因?yàn)橥ㄟ^(guò)使用 ActiveX 組件能夠使你輕松地?cái)U(kuò)展 ActiveX 的能力,正是使用了 ActiveX 組件,你可以實(shí)現(xiàn)至關(guān)重要的功能,譬如數(shù)據(jù)庫(kù)連接、文件訪問(wèn)、廣告顯示和其他 VBscript 不能提供或不能簡(jiǎn)單地依靠單獨(dú)使用 ActiveX 所能完成的功能。正是因?yàn)檫@些組件才使得 ASP 具有了強(qiáng)大的生命力。 Server.createObject("Component Name") 默認(rèn)情況下,由 Server.createObject 方法創(chuàng)建的對(duì)象具有頁(yè)作用域。這就是說(shuō),再當(dāng)前 ASP 頁(yè)處理完成之后,服務(wù)器將自動(dòng)破壞這些對(duì)象。如果要?jiǎng)?chuàng)建有會(huì)話或應(yīng)用程序作用域的對(duì)象,可以使用 <OBJECT> 標(biāo)記并設(shè)置 SESSION 或 APPLICATION 的 SCOPE 屬性,也可以在對(duì)話及應(yīng)用程序變量中存儲(chǔ)該對(duì)象。如下例程 : 這里需要注意的是,不能創(chuàng)建與內(nèi)建對(duì)象同名的對(duì)象實(shí)例,否則,如下列腳本將返回錯(cuò)誤。 <% Set Response = Server.createObject("Response") %> 至今為止,我們已經(jīng)學(xué)習(xí)完了 ASP 所有的內(nèi)建對(duì)象,不知大家是不是很興奮? 其實(shí) ASP 是很簡(jiǎn)單的,只要大家不斷的實(shí)踐,相信一段時(shí)間后都不難成為ASP 的高手。 該文章在 2022/6/21 14:52:28 編輯過(guò) |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |