国产成人精品18p,天天干成人网,无码专区狠狠躁天天躁,美女脱精光隐私扒开免费观看

ASP基礎入門(mén)第六篇(ASP內建對象Request)

發(fā)布時(shí)間:2021-08-17 12:10 來(lái)源: 閱讀:0 作者: 欄目: ASP 歡迎投稿:712375056

在正式開(kāi)始學(xué)習 ASP 的內建對象和組件之前,先讓我們來(lái)認識一些基本概念,這將對各位今后的學(xué)習大有幫助。請看下表 :

Active Server

隨 Windows NT 交付的服務(wù)器方技術(shù)的集合。這些 技術(shù)為組件應用程序管理、數據訪(fǎng)問(wèn)、事務(wù)和消息 提供一致的服務(wù)器方組件、腳本模型和一套集成的系 統服務(wù)。

Active Server Pages (ASP)

在服務(wù)器上運行 ActiveX 腳本和 ActiveX 組件的服 務(wù)器方腳本環(huán)境。開(kāi)發(fā)人員可以將腳本和組件結合在 一起創(chuàng )建基于 Web 的應用程序。

ActiveX

允許開(kāi)發(fā)人員為 World Wide Web 創(chuàng )建交互式組件的 內涵豐富的Microsoft 技術(shù)術(shù)語(yǔ)。允許用不同語(yǔ)言編寫(xiě)的軟 件組件在網(wǎng)絡(luò )環(huán)境中一起工作的一組不依賴(lài)語(yǔ)言的 互操作技術(shù)。ActiveX 的關(guān)鍵元素是組件對象模型 (COM) 和 分布組件對象模型 (DCOM)。這些技術(shù)已得到開(kāi)放組織的 許可,已移植到許多平臺上。

ADO

Active 數據對象。為基于 Internet 以數據為中心的 應用程序而優(yōu)化的一組基于對象的數據訪(fǎng)問(wèn)接口。ADO 基于已發(fā)布的規范并且隨帶在Microsoft Internet Information Server 和 Microsoft Visual InterDev 中。

DSN

數據源名稱(chēng)。開(kāi)放式數據庫接口 (ODBC)用于引 用訪(fǎng)問(wèn)數據所需的驅動(dòng)程序或其他信息的邏輯名稱(chēng)。Internet信 息服務(wù)器用于連接到 ODBC 數據源(如 SQL Server 數據庫)的 名稱(chēng)。

event: 事件

由用戶(hù)或 ActiveX 控件產(chǎn)生的程序響應的任何 操作。一般事件包括按鍵盤(pán)鍵、通過(guò)使用鼠標單擊選 擇按鈕和其他鼠標操作。編程人員編寫(xiě)響應這些操作 的代碼。

object: 對象

在面向對象編程中,由當作完整實(shí)體的操作 和數據組成的變量。對象是基于特定模型的,在對象 中客戶(hù)使用對象的服務(wù)通過(guò)由一組方法或相關(guān)函數 的接口訪(fǎng)問(wèn)對象的數據。然后客戶(hù)端可以調用這些方 法執行某中操作。

ODBC

開(kāi)放式數據庫接口。允許應用程序從各種跨 平臺數據訪(fǎng)問(wèn)的已有數據源標準規格中訪(fǎng)問(wèn)數據的 應用程序編程接口。

SQL

結構化查詢(xún)語(yǔ)言 Structured Query Language。定義和訪(fǎng) 問(wèn)關(guān)系型數據庫的國際標準。

什么是對象?

它可不是指你戀愛(ài)的男伴或女伴。在面向對象編程中,對象就是指由當作完整實(shí)體的操作和數據組成的變量。對象是基于特定模型的,在對象中客戶(hù)使用對象的服務(wù)通過(guò)由一組方法或相關(guān)函數的接口訪(fǎng)問(wèn)對象的數據,然后客戶(hù)端可以調用這些方法執行某中操作。

ActiveX 組件是建立 Web 應用程序的關(guān)鍵,組件提供了在腳本中執行任務(wù)的對象。ActiveX 組件是一個(gè)文件,該文件包含執行某項或一組任務(wù)的代碼,由于組件可以執行公用任務(wù),這樣程序員們就不必自己去創(chuàng )建執行這些任務(wù)的代碼??梢岳媒M件作為腳本和基于 Web 應用程序的基本構造塊。只要知道如何訪(fǎng)問(wèn)組件提供的對象,即使是位編寫(xiě)腳本的新手,也可以在不了解組件運作方式的情況下編寫(xiě)腳本。

總之,組件使您不用學(xué)習編程就能夠編寫(xiě)強大的腳本。組件是包含在動(dòng)態(tài)鏈接庫 .dll 或可執行文件 .exe 中的可執行代碼。組件可以提供一個(gè)或多個(gè)對象以及對象的方法和屬性。要使用組件提供的對象,請創(chuàng )建對象的實(shí)例并將這個(gè)新的實(shí)例分配變量名。使用 ASP 的 Server.CreateObject 方法可以創(chuàng )建對象的實(shí)例,使用腳本語(yǔ)言的變量分配指令可以為對象實(shí)例命名。如下例:
Set db=Server.CreateObject("ADODB.Connection")
這里的變量 db 就是 ASP 程序創(chuàng )建的訪(fǎng)問(wèn)數據庫的對象實(shí)例.

Active Server Pages 提供了可在腳本中使用的內建對象。這些對象使用戶(hù)更容易收集通過(guò)瀏覽器請求發(fā)送的信息、響應瀏覽器以及存儲用戶(hù)信息 , 從而使對象開(kāi)發(fā)者擺脫了很多煩瑣的工作。目前的 ASP 版本總共提供了六個(gè)內建對象,下面讓我們將通過(guò)實(shí)例分別來(lái)進(jìn)行學(xué)習。   

一、Request 對象

可以使用 Request 對象訪(fǎng)問(wèn)任何基于 HTTP 請求傳遞的所有信息,包括從 HTML 表格用 POST 方法或 GET 方法傳遞的參數、cookie 和用戶(hù)認證。Request 對象使您能夠訪(fǎng)問(wèn)客戶(hù)端發(fā)送給服務(wù)器的二進(jìn)制數據。   

Request 的語(yǔ)法 :   

Request[. 集合 | 屬性 | 方法 ]( 變量 )   

在這里作者將挑選一些常用的對象語(yǔ)法進(jìn)行分析   
1、Form   

Form 集合通過(guò)使用 POST 方法的表格檢索郵送到 HTTP 請求正文中的表格元素的值。  

  語(yǔ)法    Request.Form(element)[(index)|.Count]
  參數    element 指定集合要檢索的表格元素的名稱(chēng)。
  index 可選參數,使用該參數可以訪(fǎng)問(wèn)某參數中多個(gè)值中的一個(gè)。它可以是 1 到 Request.Form(parameter).Count 之間的任意整數。
  Count 集合中元素的個(gè)數  
  Form 集合按請求正文中參數的名稱(chēng)來(lái)索引。Request.Form(element) 的值是請求正文中所有 element 值的數組。通過(guò)調用 Request.Form(element).Count 來(lái)確定參數中值的個(gè)數。如果參數未關(guān)聯(lián)多個(gè)值,則計數為 1。如果找不到參數,計數為 0。要引用有多個(gè)值的表格元素中的單個(gè)值,必須指定 index 值。index 參數可以是從 1 到 Request.Form(element).Count 中的任意數字。如果引用多個(gè)表格參數中的一個(gè),而未指定 index 值,返回的數據將是以逗號分隔的字符串。
  可以使用重述符來(lái)顯示表格請求中的所有數據值。例如,用戶(hù)通過(guò)指定幾個(gè)值填寫(xiě)表格,見(jiàn)下圖。

 

對于 hobby 參數,您可以使用下面的腳本檢索這些值。

< html>
< head>< title>< /title>< /head>
< body>
< p> 請填寫(xiě)你的愛(ài)好 < /p>
< form method="POST" action="form.asp">
< p>< input type="text" name="hobby" size="20">< br>
< input type="checkbox" name="hobby" value=" 足球"> 足球 
< input type="checkbox"   name="hobby" value=" 乒乓球"> 乒乓球 < /p>
< p>< input type="submit" value=" 發(fā)送 " name="B1">
< input type="reset" value=" 重填 "   name="B2">


< /form>
< %   For Each i In Request.Form("hobby")   Response.Write i & "< BR>"   Next   %>  

</body>

< /html>

  將以上代碼剪貼到記事簿中(注意將“< ”后面的空格去掉),保存為 form.asp 文件并運行,request 對象可以根據你在 form 中填入或選擇元素內容的不同將元素逐個(gè)顯示出來(lái)。

   當然使用 For...Next 循環(huán)也可以生成同樣的輸出,如下所示 :   
< %   For i = 1 To Request.Form("hobby").Count   Response.Write Request.Form("hobby")(i) & "< BR>"Next   %>

2、QueryString
  QueryString 集合檢索 HTTP 查詢(xún)字符串中變量的值 ,HTTP 查詢(xún)字符串由問(wèn)號 (?) 后的值指定。如:
  < A HREF= "example.asp?string=this is a sample">string sample< /A>
  生成值為 "this is a sample" 的變量名字符串。通過(guò)發(fā)送表格或由用戶(hù)在其瀏覽器的地址框中鍵入查詢(xún)也可以生成查詢(xún)字符串。
  語(yǔ)法    Request.QueryString(variable)[(index)|.Count]
  QueryString 集合可以讓您以名稱(chēng)檢索 QUERY_STRING 變量。Request.QueryString( 參數 ) 的值是出現在 QUERY_STRING 中所有參數的值的數組。通過(guò)調用Request.QueryString(parameter).Count 可以確定參數有多少個(gè)值。   我們也可以使用 QueryString 來(lái)達到與前一個(gè)范例相同的功能。只需要將 request.form 部分替換如下:
< %   For Each i In Request.querystring("hobby")   Response.Write i & "< BR>"   Next   %>

3、Cookies
  什么是 Cookie?Cookie 其實(shí)是一個(gè)標簽,當你訪(fǎng)問(wèn)一個(gè)需要唯一標識你的站址的 WEB 站點(diǎn)時(shí),它會(huì )在你的硬盤(pán)上留下一個(gè)標記,下一次你訪(fǎng)問(wèn)同一個(gè)站點(diǎn)時(shí),站點(diǎn)的頁(yè)面會(huì )查找這個(gè)標記。每個(gè) WEB 站點(diǎn)都有自己的標記,標記的內容可以隨時(shí)讀取,但只能由該站點(diǎn)的頁(yè)面完成。每個(gè)站點(diǎn)的 Cookie 與其他所有站點(diǎn)的 Cookie 存在同一文件夾中的不同文件內(你可以在 Windows 的目錄下的 Cookie 文件夾中找到它們)。一個(gè) Cookie 就是一個(gè)唯一標識客戶(hù)的標記,Cookie 可以包含在一個(gè)對話(huà)期或幾個(gè)對話(huà)期之間某個(gè) WEB 站點(diǎn)的所有頁(yè)面共享的信息,使用 Cookie 還可以在頁(yè)面之間交換信息。Request 提供的 Cookies 集合允許用戶(hù)檢索在 HTTP 請求中發(fā)送的 cookie 的值。這項功能經(jīng)常被使用在要求認證客戶(hù)密碼以及電子公告板、WEB 聊天室等 ASP 程序中。
  語(yǔ)法    Request.Cookies(cookie)[(key)|.attribute]
  參數    cookie 指定要檢索其值的 cookie。
  key 可選參數,用于從 cookie 字典中檢索子關(guān)鍵字的值。
  attribe 指定 cookie 自身的有關(guān)信息。如:HasKeys 只讀,指定 cookie 是否包含關(guān)鍵字。
  可以通過(guò)包含一個(gè) key 值來(lái)訪(fǎng)問(wèn) cookie 字典的子關(guān)鍵字。如果訪(fǎng)問(wèn) cookie 字典時(shí)未指定 key,則所有關(guān)鍵字都會(huì )作為單個(gè)查詢(xún)字符串返回。例如,如果 MyCookie 有兩個(gè)關(guān)鍵字 , First 和 Second,而在調用 Request.Cookies 時(shí)并未指定其中任何一個(gè)關(guān)鍵字,那么將返回下列字符串。
  First=frstkeyvalue&Second=secondkeyvalue  

  如果客戶(hù)端瀏覽器發(fā)送了兩個(gè)同名的 cookie,那么 Request.Cookie 將返回其中路徑結構較深的一個(gè)。例如,如果有兩個(gè)同名的的 cookie,但其中一個(gè)的路徑屬性為 /www/ 而另一個(gè)為 /www/home/,客戶(hù)端瀏覽器同時(shí)將兩個(gè) cookie 都發(fā)送到 /www/home/ 目錄中,那么 Request.Cookie 將只返回第二個(gè) cookie。  

  要確定某個(gè) cookie 是不是 cookie 字典(cookie 有否有關(guān)鍵字),可使用下列腳本。
< %= Request.Cookies("myCookie").HasKeys %>

  如果 myCookie 是一個(gè) cookie 字典,則前面的賦值為 TRUE。否則,為 FALSE。下面我們來(lái)看看一個(gè) cookie 的應用實(shí)例:

< %   nickname=request.form("nick")response.cookies("nick")=nickname ' 用 response 對象將用戶(hù)名寫(xiě)入 Cookie 之中 
response.write " 歡迎 "&request.cookies("nick")&" 光臨小站!" %>
< html>< head>< meta http-equiv="Content-Type" content="text/html; charset=gb2312"> < title>
cookie< /title>
< meta name="GENERATOR" content="Microsoft FrontPage 3.0">< /head>
< body>
< form method="POST" action="cookie.asp">
< p>< input type="text" name="nick" size="20"> < input type="submit" value=" 發(fā)送 " name="B1">
< input type="reset" value=" 重填 " name="B2">

< /form>
</body>< /html>

這其實(shí)是一個(gè)在基于 WEB 的 BBS 或 CHAT 的 ASP 程序中常用的手法,它將用戶(hù)在起始頁(yè)面上填入的姓名保存在 cookie 中,這樣后面的程序就可以很容易地調用該用戶(hù)的 nick 了。  

4、ServerVariables

大家都知道在瀏覽器中瀏覽網(wǎng)頁(yè)的時(shí)候使用的傳輸協(xié)議是 HTTP,在 HTTP 的標題文件中會(huì )記錄一些客戶(hù)端的信息,如 : 客戶(hù)的 IP 地址等等,有時(shí)服務(wù)器端需要根據不同的客戶(hù)端信息做出不同的反映,這時(shí)候就需要用 ServerVariables 集合獲取所需信息。
  語(yǔ)法    Request.ServerVariables ( 服務(wù)器環(huán)境變量 )

由于服務(wù)器環(huán)境變量較多,作者僅將一些常用的變量在下表中列出 :

ALL_HTTP: 客戶(hù)端發(fā)送的所有 HTTP 標題文件。

CONTENT_LENGTH: 客戶(hù)端發(fā)出內容的長(cháng)度。

CONTENT_TYPE: 內容的數據類(lèi)型。如:“text/html”。同附加信息 的查詢(xún)一起使用,如 HTTP 查詢(xún) GET、POST 和 PUT。

LOCAL_ADDR: 返回接受請求的服務(wù)器地址。如果在綁定多 個(gè) IP 地址的多宿主機器上查找請求所使用的地址 時(shí),這條變量非常重要。

LOGON_USER: 用戶(hù)登錄 Windows NT 的帳號。

QUERY_STRING:查詢(xún) HTTP 請求中問(wèn)號(?)后的信息。

REMOTE_ADDR:發(fā)出請求的遠程主機 (client) 的 IP 地址。

REMOTE_HOST:發(fā)出請求的主機 (client) 名稱(chēng)。如果服務(wù)器無(wú)此 信息,它將設置為空的 MOTE_ADDR 變量。

REQUEST_METHOD:該方法用于提出請求。相當于用于 HTTP 的 GET、HEAD、POST等 等。

SERVER_NAME:出現在自引用 URL 中的服務(wù)器主機名、DNS 化名 或 IP 地址。

SERVER_PORT:發(fā)送請求的端口號。

我們可以使用以下腳本打印出所有的服務(wù)器環(huán)境變量。

< TABLE>
< TR>< TD>< B>Server Variable< /B>〈/td〉< TD>< B>Value< /B>〈/td〉〈/tr〉
< % For Each name In Request.ServerVariables %>
< TR>< TD> < %= name %> 〈/td〉< TD> < %= Request.ServerVariables(name) %> 〈/td〉〈/tr〉< /TABLE>
< % Next %>

  今天我們詳細學(xué)習了ASP 內建對象中的request 對象,這也是ASP 程序中使用最頻繁的對象,希望大家在課后多多實(shí)踐。

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。

亚洲一区二区观看播放| 亚洲色无码专线精品观看| WWW夜片内射视频在观看视频| WWW一区二区WWW免费| 妖精色AV无码国产在线看| 亚洲中文字幕精品久久|