在ASP編程語言里,有這樣幾個對象結構,即Request對象,Response對象,Application對象,Session對象,Server對象,FileSystem對象,TextStream對象等,這幾個對象對于使用ASP語言編程的技術開發人員來說,是十分重要的。技術開發人員幾乎無時無刻不在使用這幾個對象。這些對象的使用方法也比較簡單,下面編者為大家簡單介紹一下他們的使用方法。
一、Request對象
Request對象的作用把本頁面接收到的請求信息保存在幾個集合中,供ASP頁面使用。它的通用的調用方法為:Request.Collection("參數"),其中Collection為集合,它可以為以下幾種的一種:QueryString,Form,Cookie,ServerVariable。
當你不指定集合名,即使用方法Request("參數")時,系統默認的是QueryString,即相當于Request.QueryString("參數"),當以QueryString無法取得請求信息時,系統會按其他的方式來獲取請求信息,系統默認的查找順序為(1)QueryString,(2)Form,(3)Cookie,(4)ServerVariable來搜索所有集合,當發現第一個匹配的變量時,就認定他是要引用的成員。當然,我們在寫ASP程序的時候,為了提高效率,你最好能夠顯式指定是哪個集合中的成員。
(1)QueryString集合
當HTML表單使用GET方法向ASP網頁文件傳遞請求數據時,數據將被保存在集合QueryString中,這時候我們可以使用Request.QueryString("參數")來取得該參數的值。
(2)Form集合
當HTML表單使用
表單的方式用POST方法向ASP網頁文件傳遞請求數據時,數據將被保存在Form集合中,這時候我們可以使用Request.Form("參數")來取得該參數的值。
(3)Cookie集合
Cookie集合的獲取相對比較復雜,在一般的網頁編程中很少能用到,我們在此忽略。有興趣的人員可以另外尋找這方面的技術資料。
(4)ServerVariable集合
該集合保存了隨HTTP請求一起傳送HTTP頭的信息,可以通過他獲取有關瀏覽器的信息,主要參數成員可以有以下幾個:
REMOTE_ADDR 遠程主機IP地址
REMOTE_HOST 遠程主機名稱
REMOTE_USER 客戶名稱
REQUEST_METHOD 請求方法(如POST,GET,HEAD)
SERVER_NAME 服務器名
SERVER_PROTOCOL 服務器版本號(如HTTP/1。0)
二、Response對象
其功能是用來向客戶端返回HTML內容。它的使用有若干屬性和方法,下面簡要地將其比較重要的屬性和用法介紹如下:
(1)Status屬性
傳遞HTTP Response報文的狀態。服務器返回的狀態代碼由三位數字組成,可以用于測試階段和轉換控制到其他站點(即Forward)
(2)Write方法
向客戶端輸出HTML文本,可以是任何合法的HTML腳本。
(3)Redirect方法
使瀏覽器從當前頁面重新定向到另外一個URL頁面上
(4)End方法
當服務器指定到此方法時,立即停止各種處理工作,網頁執行到此結束。
(5)BinaryWrite方法
向客戶端輸出二進制數據,此方法可用于輸出驗證碼的圖片。
三、Request對象和Response對象的Cookies集合
(1)寫入Cookies
Response.Cookies("Cookie名稱")[("鍵名稱").屬性]=值
如果該Cookie已經存在,則值被新值替代,否則,創建該cookie
例如:<% Response.Cookies("NewCookie")="New Cookie Value" %>
(2)讀取Cookies
如:<%=Request.Cookies("NewCookie")%>
四、Application對象
Active Server應用程序是虛擬目錄及其子目錄下的所有文件,即一個WEB網站站點。可以使用Application對象在應用軟件的所有用戶中共享信息,并可以在服務器運行期間持久地保存數據。該對象有一些控制訪問應用層數據的方法和事件。
Application本身沒有內置屬性,可以有用戶定義:Application("屬性名")=值
保存在Application對象中的數據可以被Application的所有用戶讀取。如用來做訪問記數:Application("aVisits")=Application("aVisits")+1
該對象的方法有兩個:
(1)Lock:
當用戶調用Lock時,只有當前用戶能夠編輯或增加Application對象的屬性。
(2)Unlock:
一定要記住,調用了Lock,完成時一定要調用Unlock.
事件也有兩個:
(1)Application_OnStart事件:應用程序啟動時調用。
(2)Application_OnStart事件:應用程序終止時調用。
這兩個事件再加上Session的兩個事件的處理程序都放在文件Global.asp中,一個Web應用只有一個Global.asa文件,且放在該應用的根目錄下。一個Global.asp文件的例子如下:
Sub Application_OnStart
Dim laChats(15)
Application("gaChats")=maChats
Application("giCounter")=0
End Sub
五、Session對象
Active Server使用會話設置為使用應用程序的單個用戶持久保持數據。當用戶請求Active Server應用程序中ASP文件的URL時,要啟動Session。在缺省情況下,如果沒有用戶請求,則服務器只保留Session20分鐘。用戶也可以通過設Session的屬性TimeOut來改變。或顯示地調用Session.Abandon方法來釋放Session對象。
(1)SessionID屬性
唯一標識一個會話的標識符。
(2)TimeOut屬性
定義Session保留的時限,單位為分鐘,如Session.TimeOut=10
像Application一樣,Session也可由用戶來定義屬性。
Session的唯一方法是Abandon,用來取消用戶的Session對象,并釋放其占用的服務器資源。如:<% Session.Abandon %>
事件有Session_OnStart和Session_OnEnd,其處理程序應放在文件Glabal.asa中。
六、Server對象
(1)URLEncode方法
該方法根據URL規則對字符串進行編碼。當字符串數據以URL格式傳遞到服務器時,串中間不能有空格,不能有特殊字符,這時,你就必須用URL編碼。
(2)CreateObject方法
用于創建已注冊到服務器機器上的ActiveX組件例程,語法如下:Server.CreateObject("ComponentName")
此方法可以作為例程啟動的組件可以是ActiveX能夠使用的所有內置組件,實際上是存在于服務器上的任何ActiveX組件。例如:<% set x=server.createobject("extend.financial") %>
七、FileSystem和TextStream對象
FileSystem和TextStream對象可用于建立對文件系統的訪問,并提供順序訪問文件的機制。FileSystem沒有屬性,只有兩個方法,第一個方法是CreateTextFile方法,可以在宿主機上創建新的文本文件,并返回TextStream對象以提供對新創建文件的訪問機制。第二個是OpenTextFile方法,用于打開文本文件供順序訪問并返回一個TextStream對象。如:
<%
set fsFilesys=CreateObject("Scripting.FileSystemObject")
set ts=fsFilesys.CreateTextFile("D:/exam.txt",True)
ts.WriteLine("This is a Exam Sample.")
ts.Close
%>
TextStream對象的使用有:
AtEndOfLine:如果文件當前字符處在行的末尾則返回true
AtEndOfScreen:如果當前字符在文件的末尾則返回true
Column:返回當前字符的列號
Line:返回當前字符的行號
TextStream對象的方法為:
Close:關閉并釋放TextStream對象
Read:從一個文件中讀取給定個數的字符到一個變量中
ReadAll:讀取文件的全部內容到一個變量中
ReadLine:讀取給定行號的內容到一個變量中
Skip:跳過給定個數的字符
SkipLine:跳過給頂的行書
Write:寫如字符串
WriteLine:寫入以換行結束的字符串
WriteBlankLines:寫入給頂數量的空格
新聞熱點
疑難解答