ASP內建對象

來源:互聯網
上載者:User

一、Request 對象
可以使用 Request 對象訪問任何基於 HTTP 要求傳遞的所有資訊,包括從 HTML 表格用 POST 方法或 GET 方法傳遞的參數、cookie 和使用者認證。
Request[.集合|屬性|方法](變數)
1、Form
Form 集合通過使用 POST 方法的表格檢索郵送到 HTTP 要求本文中的表格元素的值。

Request.Form(element)[(index)|.Count]

element 指定集合要檢索的表格元素的名稱。
index 選擇性參數,使用該參數可以訪問某參數中多個值中的一個。它可以是 1 到 Request.For(parameter).Count 之間的任意整數。
Count 集合中元素的個數

Form 集合按請求本文中參數的名稱來索引。Request.Form(element) 的值是請求本文中所有 element 值的數組。通過調用 Request.Form(element).Count 來確定參數中值的個數。如果參數未關聯多個值,則計數為 1。如果找不到參數,計數為 0。要引用有多個值的表格元素中的單個值,必須指定 index 值。index 參數可以是從 1 到 Request.Form(element).Count 中的任一數字。如果引用多個表格參數中的一個,而未指定 index 值,返回的資料將是以逗號分隔的字串。

2、QueryString
QueryString集合檢索HTTP查詢字串中變數的值 ,HTTP 查詢字串由問號 (?) 後的值指定。

Request.QueryString(variable)[(index)|.Count]

QueryString 集合可以讓您以名稱檢索 QUERY_STRING 變數。Request.QueryString( 參數 ) 的值是出現在 QUERY_STRING 中所有參數的值的數組。通過調用Request.QueryString(parameter).Count 可以確定參數有多少個值。

3、Cookies

Cookie 其實是一個標籤,當你訪問一個需要唯一標識你的站址的 WEB 網站時,它會在你的硬碟上留下一個標記,下一次你訪問同一個網站時,網站的頁面會尋找這個標記。每個 WEB 網站都有自己的標記,標記的內容可以隨時讀取,但只能由該網站的頁面完成。每個網站的 Cookie 與其他所有網站的 Cookie 存在同一檔案夾中的不同檔案內(你可以在 Windows 的目錄下的 Cookie 檔案夾中找到它們)。一個 Cookie 就是一個唯一標識客戶的標記,Cookie 可以包含在一個對話期或幾個對話期之間某個 WEB 網站的所有頁面共用的資訊,使用 Cookie 還可以在頁面之間交換資訊。Request 提供的 Cookies 集合允許使用者檢索在 HTTP 要求中發送的 cookie 的值。

Request.Cookies(cookie)[(key)|.attribute]

cookie 指定要檢索其值的 cookie。
key 選擇性參數,用於從 cookie 字典中檢索子關鍵字的值。
attribe 指定 cookie 自身的有關資訊。
可以通過包含一個 key 值來訪問 cookie 字典的子關鍵字。如果訪問 cookie 字典時未指定 key,則所有關鍵字都會作為單個查詢字串返回。
如果用戶端瀏覽器發送了兩個同名的 cookie,那麼 Request.Cookie 將返回其中路徑結構較深的一個。

4、ServerVariables

瀏覽器中瀏覽網頁的時候使用的傳輸協議是 HTTP,在 HTTP 的標題檔案中會記錄一些用戶端的資訊,如 : 客戶的 IP 位址等等,有時伺服器端需要根據不同的用戶端資訊做出不同的反映,這時候就需要用 ServerVariables 集合擷取所需資訊。

Request.ServerVariables ( 伺服器環境變數 )

常用的變數:
ALL_HTTP 用戶端發送的所有 HTTP 標題檔案。
CONTENT_LENGTH 用戶端發出內容的長度。 
CONTENT_TYPE 內容的資料類型。如:“text/html”。同附加資訊 的查詢一起使用,如 HTTP 查詢 GET、POST 和 PUT。
LOCAL_ADDR 返回接受請求的伺服器位址。如果在綁定多 個 IP 位址的多重主機機器上尋找請求所使用的地址 時,這條變數非常重要。
LOGON_USER 使用者登入 Windows NT 的帳號。
QUERY_STRING 查詢 HTTP 要求中問號(?)後的資訊。 
REMOTE_ADDR 發出請求的遠程主機 (client) 的 IP 位址。 
REMOTE_HOST 發出請求的主機 (client) 名稱。如果伺服器無此 資訊,它將設定為空白的 MOTE_ADDR 變數。
REQUEST_METHOD 該方法用於提出請求。相當於用於 HTTP 的 GET、HEAD、POST等 等。
SERVER_NAME 出現在自引用 URL 中的伺服器主機名稱、DNS 化名 或 IP 位址。
SERVER_PORT 發送請求的連接埠號碼。

二:內建對象 Response

Response 對象是用來控制發送給使用者的資訊,包括直接發送資訊給瀏覽器、重新導向瀏覽器到另一個 URL 或設定 cookie 的值。

Response.collection|property|method

一、屬性
1、Buffer
   Buffer 屬性指示是否緩衝頁輸出。當緩衝頁輸出時,只有當前頁的所有伺服器指令碼處理完畢或者調用了 Flush 或 End 方法後,伺服器才將響應發送給用戶端瀏覽器,伺服器將輸出發送給用戶端瀏覽器後就不能再設定 Buffer 屬性。因此應該在 .asp 檔案的第一行調用 Response.Buffer。

2、Charset
   Charset 屬性將字元集名稱附加到 Response 對象中 content-type 標題的後面。對於不包含 Response.Charset 屬性的 ASP 頁,content-type 標題將為 :content-type:text/html。

3、ContentType
   ContentType 屬性指定伺服器響應的 HTTP 內容類型。如果未指定 ContentType,預設為 text/HTML。

4、Expires
   Expires 屬性指定了在瀏覽器上緩衝儲存的頁距到期還有多少時間。如果使用者在某個頁到期之前又回到此頁,就會顯示緩衝區中的頁面。如果設定 response.expires=0,則可使緩衝的頁面立即到期。這是一個較實用的屬性,當客戶通過 ASP 的登陸頁面進入 WEB 網站後,應該利用該屬性使登陸頁面立即到期,以確保安全。

5、ExpiresAbsolute
   與 Expires 屬性不同,ExpiresAbsolute 屬性指定緩衝於瀏覽器中的頁面的確切到期日和時間。在未到期之前,若使用者返回到該頁,該緩衝中的頁面就顯示。如果未指定時間,該首頁在當天午夜到期。如果未指定日期,則該首頁在指令碼運行當天的指定時間到期。

二、方法

1、Clear
   可以用 Clear 方法清除緩衝區中的所有 HTML 輸出。但 Clear 方法只清除響應本文而不清除響應標題。可以用該方法處理錯誤情況。但是如果沒有將 Response.Buffer 設定為 TRUE,則該方法將導致執行階段錯誤。

2、End
   End 方法使 Web 服務器停止處理指令碼並返回當前結果。檔案中剩餘的內容將不被處理。如果 Response.Buffer 已設定為 TRUE,則調用 Response.End 將緩衝輸出。

3、Flush
   Flush 方法立即發送緩衝區中的輸出。如果沒有將 Response.Buffer 設定為 TRUE,則該方法將導致執行階段錯誤。

4、Redirect
   Redirect 方法使瀏覽器立即重新導向到程式指定的 URL。這也是一個我們經常用到方法,這樣程式員就可以根據客戶的不同響應,為不同的客戶指定不同的頁面或根據不同的情況指定不同的頁面。一旦使用了 Redirect 方法任何在頁中顯式設定的響應本文內容都將被忽略。然而,此方法不向用戶端發送該頁設定的其他 HTTP 標題,將產生一個將重新導向 URL 作為連結包含的自動響應本文。

5、Write
   Write 方法是我們平時最常用的方法之一,它是將指定的字串寫到當前的 HTTP 輸出。

三、集合

Response 對象只有一個集合 --Cookie
Cookies 集合設定 cookie 的值。若指定的 cookie 不存在,則建立它。若存在,則設定新的值並且將舊值刪去。

Response.Cookies(cookie)[(key)|.attribute]=value

這裡的 cookie 是指定 cookie 的名稱。而如果指定了 key,則該 cookie 就是一個字典。
attribute 指定 cookie 自身的有關資訊。attribute 參數可以是下列之一 :
Domain 若被指定,則 cookie 將被發送到對該域的請求中去。
Expires 指定 cookie 的到期日期。為了在會話結束後將 cookie 儲存在用戶端磁碟上,必須設定該日期。若此

項屬性的設定未超過當前日期,則在任務結束後 cookie 將到期。
HasKeys 指定 cookie 是否包含關鍵字。
Path 若被指定,則 cookie 將只發送到對該路徑的請求中。如果未設定該屬性,則使用應用程式的路徑。

三:Application 對象。

一、屬性

雖然 Application 對象沒有內建的屬性,但我們可以使用以下句法設定使用者定義的屬性也可稱為集合。
Application(" 屬性 / 集合名稱 ")= 值

一旦我們分配了 Application 對象的屬性,它就會持久地存在,直到關閉 WEB 伺服器服務使得 Application 停止。由於儲存在 Application 對象中的數值可以被應用程式的所有使用者讀取,所以 Application 對象的屬性特別適合在應用程式的使用者之間傳遞資訊。

二、方法

Application 對象有兩個方法,它們都是用於處理多個使用者對儲存在 Application 中的資料進行寫入的問題

1、Lock 方法

禁止其他客戶修改 Application 對象的屬性。
Lock 方法阻止其他客戶修改儲存在 Application 對象中的變數,以確保在同一時刻僅有一個客戶可修改和存取

Application 變數。如果使用者沒有明確調用 Unlock 方法,則伺服器將在 .asp 檔案結束或逾時後即解除Application 對象的鎖定。

2、Unlock 方法

和 Lock 方法相反,Unlock 方法允許其他客戶修改 Application 對象的屬性。

三、事件

1、Application_OnStart
Application_OnStart 事件在首次建立新的會話 ( 即 Session_OnStart 事件 ) 之前發生。當 WEB 伺服器啟動並允許對應用程式所包含的檔案進行請求時就觸發 Application_OnStart 事件。Application_OnStart 事件的處理過程必須寫在 Global.asa 檔案之中。

2、Application_OnEnd
Application_OnEnd 事件在應用程式退出時於 Session_OnEnd 事件之後發生,Application_OnEnd 事件的處理過程也必須寫在 Global.asa 檔案之中。

四:Session 對象。

我們可以使用 Session Object Storage Service特定的使用者會話所需的資訊。當使用者在應用程式的頁之間跳轉時,儲存在Session 對象中的變數不會清除,而使用者在應用程式中訪問頁面時,這些變數始終存在。當使用者請求來自應用程式的 Web 頁時,如果該使用者還沒有會話,則 Web 服務器將自動建立一個 Session 對象。當會話到期或被放棄後,伺服器將終止該會話。 通過向客戶程式發送唯一的 Cookie 可以管理伺服器上的 Session 對象。當使用者第一次請求 ASP 應用程式中的某個頁面時,ASP 要檢查 HTTP 頭資訊,查看是否有在報文中有名為 ASPSESSIONID 的 Cookie 發送過來,如果有,則伺服器會啟動新的會話,並為該會話產生一個全域唯一的值,在把這個值作為新 ASPSESSIONID Cookie 的值發送給用戶端,正是使用這種 Cookie,可以訪問儲存在伺服器上的屬於客戶程式的資訊。Session 對象最常見的作用就是儲存使用者的喜好設定。例如,如果使用者指明不喜歡查看圖形,就可以將該資訊儲存在 Session 對象中。另外其還經常被用在鑒別客戶身份的程式中。要注意的是,工作階段狀態僅在支援 cookie 的瀏覽器中保留,如果客戶關閉了 Cookie 選項,Session 也就不能發揮作用了。

一、屬性
1、SessionID

SessionID 屬性返回使用者的會話標識。在建立會話時,伺服器會為每一個會話產生一個單獨的標識。會話標識以長整形資料類型返回。在很多情況下 SessionID 可以用於 WEB 頁面註冊統計。

2、TimeOut
   Timeout 屬性以分鐘為單位為該應用程式的 Session 對象指定逾時時限。如果使用者在該逾時時限之內不重新整理或請求網頁,則該會話將終止。

二、方法

   Session 對象僅有一個方法,就是 Abandon,Abandon 方法刪除所有儲存在 Session 對象中的對象並釋放這些對象的源。如果您未明確地調用 Abandon 方法,一旦會話逾時,伺服器將刪除這些對象。

三、事件

Session 對象有兩個事件可用於在 Session 對象啟動和釋放是運行過程。

1、Session_OnStart 事件在伺服器建立新會話時發生。伺服器在執行請求的頁之前先處理該指令碼。

Session_OnStart 事件是設定會話期變數的最佳時機,因為在訪問任何頁之前都會先設定它們。

2、Session_OnEnd 事件在會話被放棄或逾時發生。

五:Server 對象

Server 對象提供對伺服器上的方法和屬性的訪問 , 其中大多數方法和屬性是作為公用程式的功能服務的。有了 Server 對象,你就可以在伺服器上啟動 ActiveX 對象常式,並使用 Active Server 服務提供象 HTML 和 URL 編碼這樣的函數。

一、文法

   Server.property|method

二、屬性

   ScriptTimeout 逾時值,在指令碼運行超過這一時間之後即作逾時處理。如下代碼指定伺服器處理指令碼在

100 秒後逾時。

三、方法

1、HTMLEncode 方法

HTMLEncode 方法允許你對特定的字串進行 HTML 編碼,雖然 HTML 可以顯示大部分你寫入 ASP 檔案中的文本,但是當你需要實際包含 HTML 標籤中所使用的字元,就會遇到問題。這是因為,當瀏覽器讀到這樣的字串時,會試圖進行解釋。

2、URLEncode 方法

   就象 HTMLEncode 方法使客戶可以將字串翻譯成可接受的 HTML 格式一樣,Server 對象的 URLEncode

方法可以根據 URL 規則對字串進行正確編碼,當字串資料以 URL 的形式傳遞到伺服器時,在字串中不允

許出現空格,也不允許出現特殊字元。為此,如果你希望在發送字串之前進行 URL 編碼,可以使用

Server.URLEncode 方法。

3、MapPath 方法

   MapPath 方法將指定的相對或虛擬路徑映射到伺服器上相應的物理目錄上。
   文法如下 :Server.MapPath(Path)
Path 指定要映射物理目錄的相對或虛擬路徑。若 Path 以一個正斜杠 (/) 或反斜線 (/) 開始,則 MapPath 方法返迴路徑時將 Path 視為完整的虛擬路徑。若 Path 不是以斜杠開始,則 MapPath 方法返回同 .asp 檔案中已有的路徑相對的路徑。這裡需要注意的是 MapPath 方法不檢查返回的路徑是否正確或在伺服器上是否存在。

4、CreateObject 方法

Server.CreateObject 恐怕是 ASP 中最為實用,也是最強勁的功能了。它用於建立已經註冊到伺服器上的 ActiveX 組件執行個體。這是一個非常重要的特性,因為通過使用 ActiveX 組件能夠使你輕鬆地擴充 ActiveX 的能力,正是使用了 ActiveX 組件,你可以實現至關重要的功能,譬如資料庫連接、檔案訪問、廣告顯示和其他 VBScript 不能提供或不能簡單地依靠單獨使用 ActiveX 所能完成的功能。正是因為這些組件才使得 ASP 具有了強大的生命力。
其文法如下:
   Server.CreateObject("Component Name")
預設情況下,由 Server.CreateObject 方法建立的對象具有頁範圍。這就是說,再當前 ASP 頁處理完成之後,伺服器將自動破壞這些對象。

 

 

 

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.