ASP應用手冊 現(xiàn)在我們要系統(tǒng)地了解一下ASP的對象結(jié)構(gòu),然后,大家就可以舉一反三,不用我過多解釋每一個例子了。這一部分,可能有些困難。
一、Request
Request對象把客戶信息保存在幾個集合中,供ASP應用使用。通用的訪問方法為:Request.Collection("membername")
當你不指定集合名時,以(1)QueryString,(2)Form,(3)Cookie和(4)ServerVariable
的順序搜索所有集合,當發(fā)現(xiàn)第一個匹配的變量時,就認定他是要引用的成員。當然,為了提高效率,你最好顯式指定是那個集合中的成員。
QueryString集合
當HTML表單使用GET方法向ASP文件傳遞數(shù)據(jù)時,數(shù)據(jù)被保存在集合QueryString中。其成員可以具有與之相關的多個值,也就是說,同一個表單中,多個元素可以有相同的名字,下面的代碼訪問這些數(shù)據(jù):
<%For each item in Request.QueryString("Name")
Response.write Item &"<br>"
Next %>
Form集合
當表單用POST方法時,數(shù)據(jù)被保存在Form集合中。
ServerVariable集合
保存了隨HTTP請求一起傳送HTTP頭的信息,可以通過他獲取有關瀏覽器的信息,主要成員有:
REMOTE_ADDR 遠程主機IP地址
REMOTE_HOST 遠程主機名稱
REMOTE_USER 客戶名稱
REQUEST_METHOD 請求方法(如POST,GET,HEAD)
SERVER_NAME 服務器名
SERVER_PROTOCOL 服務器版本號(如HTTP/1。0)
二、Response對象
用來控制向客戶返回的HTML的內(nèi)容,有若干屬性和方法。下面介紹我認為重要的:
Buffer屬性
如果為True,則Response的內(nèi)容要寫入緩沖區(qū),當腳本處理完時再發(fā)給客戶。
Status屬性
傳遞HTTP Response報文的狀態(tài)。服務器返回的狀態(tài)代碼由三位數(shù)字組成,可以用于測試階段和轉(zhuǎn)換控制到其他站點(即Forward)
Write方法
向客戶輸出HTML,可以是任何合法的HTML腳本。
Redirect方法
使瀏覽器重新定向到另外一個URL上,如:
<%browsetype=Request.ServerVariables("HTTP_USER_AGENT")
IF Left(browsetype,11)="Mozilla/2.0" then
Response.Redirect "FancyStart.asp"
Else
Response.Redirect "OldStart.asp"
End if%>
Clear方法
如果設Buffer屬性為True,則Clear方法清楚所有緩沖區(qū)內(nèi)容。
Flush方法
將緩沖內(nèi)容立即發(fā)送給客戶。
End方法
當Active Server遇到該方法時,立即停止處理ASP文件,如果有緩沖,立即發(fā)送內(nèi)容到客戶。
BinaryWrite方法
輸出二進制數(shù)據(jù)
三、Request對象和Response對象的Cookies集合
1.寫入Cookies
Response.Cookies("Cookie名稱")[("鍵名稱").屬性]=值
如果該Cookie已經(jīng)存在,則值被新值替代,否則,創(chuàng)建該cookie
例如:
<% Response.Cookies("NewCookie")="New Cookie Value" %>
2.讀取Cookies
如:
<%=Request.Cookies("NewCookie")%>
Cookie還有一些屬性,請參見有關資料。