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