ASP動態(tài)網(wǎng)頁設計與應用第4章_第1頁
ASP動態(tài)網(wǎng)頁設計與應用第4章_第2頁
ASP動態(tài)網(wǎng)頁設計與應用第4章_第3頁
ASP動態(tài)網(wǎng)頁設計與應用第4章_第4頁
ASP動態(tài)網(wǎng)頁設計與應用第4章_第5頁
已閱讀5頁,還剩22頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

第4章Request對象與Response對象

本章要點4.1密碼驗證

4.2獲取ASP環(huán)境信息

4.3網(wǎng)頁跳轉(zhuǎn)

4.4訪問計數(shù)器

4.5綜合案例

習題4

4.1密碼驗證

4.1.1案例效果

圖4-1密碼驗證

4.1密碼驗證4.1.2案例實現(xiàn)(見書)4.1.3知識拓展1.ASP內(nèi)置對象概述為了便于網(wǎng)絡程序的設計,ASP提供六個內(nèi)置對象——Request、Response、Application、Session、Server和ObjectContext對象,通過這些對象使網(wǎng)站開發(fā)者可以更容易地收集通過瀏覽器請求發(fā)送的信息、響應瀏覽器以及存儲用戶信息。由ASP提供的兩個主要內(nèi)置對象——Request對象和Response對象可以直接映射訪問Web服務器時客戶端的兩個行為,即發(fā)送信息到客戶端和接收客戶端提交的信息。另外幾個對象則提供了附加功能,對編寫腳本是非常有用的。每個對象都提供了一系列的集合、屬性和方法,這在后續(xù)章節(jié)中將加以介紹。下面簡要說明每一個對象。(見書)

4.1密碼驗證2.Request對象簡介

Request對象用于獲取所有從客戶端提交到服務器的請求信息,Request對象提供了5種集合來獲取客戶端的信息,分別是QueryString、Form、Cookies、ServerVariables和ClientCerificate。ASP中,可以通過Request對象集合來從瀏覽器、Cookie、HTTP頭和用戶會話中取得信息。

Request對象為腳本提供客戶端在請求一個頁面或傳送一個表單時提供的所有信息,這包括能夠標識瀏覽器和用戶的HTTP變量,存儲用戶的瀏覽器對應的cookie,以及附在URL后面的提交的內(nèi)容(查詢字符串或頁面中<Form>表單中的HTML控件內(nèi)的值)。

Request對象使用格式如下:Request[.集合|.屬性|.方法](參數(shù))下面對Request對象的集合、屬性和方法進行簡單介紹,然后在本節(jié)的各個案例中對相應內(nèi)容進行詳細說明。(見書)

4.1密碼驗證3.QueryString集合與Form集合

QueryString集合與Form集合是Request中使用得最多的兩個集合,用于獲取從客戶端發(fā)送的查詢字符串或表單<Form>的內(nèi)容。(1)QueryString集合

QueryString是獲取查詢字符串的變量值的集合,其使用格式如下:Request.QueryString(Varible)[(Index).Count](2)Form集合

Form集合用于獲取在HTML的表單<Form>中所有的表單元素內(nèi)容的集合,使用格式如下:Request.Form(Parameter)[(Index).Count]

4.1密碼驗證4.客戶端信息的提交在網(wǎng)站開發(fā)中,為了實現(xiàn)用戶與服務器的動態(tài)交互,通常需要從客戶端瀏覽器向服務器發(fā)送信息,ASP中提供了Request對象來接受客戶端發(fā)送回來的數(shù)據(jù)。通過該對象,服務器可以獲得客戶端提交的數(shù)據(jù)。瀏覽器在用戶點擊一個超級鏈接或者提交一個HTML表單時都將產(chǎn)生一個請求(HTML表單會在本節(jié)的后面講到),下面是一個使用超級鏈接產(chǎn)生查詢字符串的語句:<ahref="qry.asp?str=ASP教程">ASP教程</a>對于上面的語句,在點擊鏈接文字“ASP教程”時,將產(chǎn)生一個URL請求,該請求將發(fā)送給文件hyperlinkquery.asp進行處理,請求中傳遞的參數(shù)是str,其值為“ASP教程”。下面來看一個提交查詢字符串的例子,例子由兩個文件構成,分別是前臺網(wǎng)頁文件qry.htm和后臺腳本文件qry.asp。(見書)

4.1密碼驗證上面網(wǎng)頁qry.htm在瀏覽器中運行效果如圖4-2左圖所示。單擊網(wǎng)頁中的鏈接文字“ASP案例教程”,結果如圖4-2右圖所示。

圖4-2查詢字符串的處理

4.1密碼驗證從圖中InternetExplorer瀏覽器地址欄可以看到,帶有查詢字符串的超鏈接被作為URL提交到服務器。服務器在收到URL“http://localhost/4/4-1/qry.asp?str1=ASP&str2=案例教程”后,調(diào)用了腳本文件qry.asp進行處理。在腳本文件中,通過下面的語句獲取查詢字符串中的變量str1和str2對應的變量值“ASP”和“案例教程”,最后將其顯示到網(wǎng)頁上。str1=request.QueryString("str1")str2=request.QueryString("str2")5.表單及其在客戶端信息提交中的應用在前面網(wǎng)頁信息傳遞的例子中,所有信息的傳遞都是通過超鏈接來提交,這種信息的提交方式是靜態(tài)的,即只能提交設計時指定的信息。在真正的網(wǎng)站設計中,更多情況下,需要能夠進行動態(tài)提交的信息,即信息是由用戶輸入數(shù)據(jù)后在客戶端產(chǎn)生并提交信息,而不是由服務器端指定的。例如,網(wǎng)上常見的用戶注冊信息的提交,圖4-3就是一個網(wǎng)站的注冊頁面。

4.1密碼驗證圖4-3注冊頁面

4.1密碼驗證下面是一個input標簽的示例(見書)上面的表單在瀏覽器中顯示效果如圖4-4所示。圖4-4表單示例

4.1密碼驗證然后,再通過下面的foreach循環(huán)來依次獲取所選中的復選框check對應的內(nèi)容,將其賦值為變量str2,并通過Response.Write方法輸出。

圖4-5上網(wǎng)調(diào)查表

4.1密碼驗證(2)textarea標簽

<textarea>標簽聲明一個用戶可以輸人多行文本的區(qū)域,<textarea>標簽的語法如下;<textareaname=""rows=""cols="">text</textarea>其中,cols為文本域?qū)挾龋ㄗ址麛?shù)),rows為文本域的高度(行數(shù)),<textarea>和</textarea>之間的是文本域的內(nèi)容,對應的就是文本域提交時的值。例如:(見書)上面語句定義的文本域如圖4-6所示。

圖4-6文本域

4.1密碼驗證(3)select標簽

<select>標簽聲明一個可選項的列表,用戶可以選擇一個或者多個選項,標簽的值(value)就是所選擇的選項,下面是select標簽的語法:<selectname=""size=""multiple><optionvalue=""selected>option</option>...<optionvalue="">option</option></select>

在<select>和</select>標簽之間的是列表的內(nèi)容,列表內(nèi)容用標簽<option>設置;value表示該選項的值,selected是一個可選屬性,如果有該屬性,則表示顯示時將該項置設為已選中;在<option>和</option>標簽之間的是顯示在選項列表中的選項內(nèi)容。

4.1密碼驗證

圖4-7列表選項下面是一個select標簽的示例:(見書)上面的代碼在瀏覽器中效果如圖4-7左圖所示,鼠標單擊后展開列表如圖4-7右圖所示。

4.2獲取ASP環(huán)境信息

4.2.1案例效果

圖4-8獲取客戶端信息

4.2獲取ASP環(huán)境信息4.2.2案例實現(xiàn)

(見書)4.2.3知識拓展1.ServerVaribles集合

ServerVaribles是ASP環(huán)境變量的集合,它允許讀取HTTP頭,可以通過使用“HTTP_前綴”來讀取任何頭信息。ServerVaribles集合的使用格式如下:(見書)2.ClientCertificate集合

ClientCertificate集合是所有客戶證書的信息的集合。使用格式如下:Request.ClientCertificate(key[SubField])此外,對于SubField,Subject和Issuer關鍵字還可以具有如表4-4所示的子域后綴(比如:SubjectOU或IssuerL)。(見書)當文件cervbs.inc(VBScript使用)或cerjavas.inc(Jscript使用)通過使用#include包含在ASP中時,下面兩個標志可以使用:(見書)

4.3網(wǎng)頁跳轉(zhuǎn)

4.3.1案例效果

圖4-9網(wǎng)絡導航圖4-9網(wǎng)絡導航

4.3網(wǎng)頁跳轉(zhuǎn)4.3.2案例實現(xiàn)(見書)4.3.3知識拓展1.Response對象簡介

Response對象用來訪問所創(chuàng)建的并返回客戶端的響應??梢允褂肦esponse對象控制發(fā)送給用戶的信息,包括直接發(fā)送信息給瀏覽器、重定向瀏覽器到另一個URL或設置cookie的值。Response對象為腳本提供了標識服務器和性能的HTTP變量,發(fā)送給瀏覽器的信息內(nèi)容和任何將在cookie中存儲的信息。Response對象還提供了一系列用于創(chuàng)建輸出頁的方法,如前面多次用到的Response.Write方法。(1)Response對象的集合

Response對象只有一個集合——Cookies,該集合設置希望放置在客戶系統(tǒng)上的Cookie的值,它對應于Request.Cookies集合。

4.3網(wǎng)頁跳轉(zhuǎn)

圖4-10動態(tài)標題文字(2)Response對象的屬性Response對象提供一系列的屬性,通常這些屬性由服務器設置,不需要設置它們。在某些情況下,可以讀取或修改這些屬性,使響應能夠適應請求。Response對象的常用屬性如下所示。(見書)

4.3網(wǎng)頁跳轉(zhuǎn)2.客戶端腳本對事件的響應在ASP的動態(tài)交互中,經(jīng)常有一些工作會要求在客戶端進行,例如,對數(shù)據(jù)的校驗,檢查用戶名和密碼是否符合要求等。這些工作如果提交到服務器端來進行,則會耗費大量網(wǎng)絡資源,給服務器造成很大的負擔。此外,還有些工作只能在客戶端完成,因此,這就需要編寫能夠在客戶端進行工作的腳本。(1)處理表單內(nèi)對象的事件客戶端腳本通常寫在<script>中,以過程或函數(shù)的方式存在。當發(fā)生某一事件時,瀏覽器會自動調(diào)用相應的過程或函數(shù)進行處理。(見書)

4.3網(wǎng)頁跳轉(zhuǎn)圖4-11輸入驗證

4.3網(wǎng)頁跳轉(zhuǎn)大多數(shù)腳本代碼通常都是在sub或function過程中,僅在其他代碼要調(diào)用它時執(zhí)行。然而,也可以將vbscript

代碼放在過程之外、script塊之中。這類代碼僅在html頁面加載時執(zhí)行一次,這樣就可以在加載web頁面時初始化數(shù)據(jù)或動態(tài)地改變頁面的外觀。(2)驗證后將數(shù)據(jù)傳遞到服務器前面的“輸入驗證”案例使用的是普通按鈕控件,不能將表單內(nèi)容提交到服務器。如果使用Submit按鈕,所有數(shù)據(jù)都會被立即傳送到服務器,示例將不會看到數(shù)據(jù)來進行檢查。避免使用Submit按鈕則可以檢查數(shù)據(jù),但不能向服務器提交數(shù)據(jù)。如果需要提交數(shù)據(jù)則需要再添加一行代碼,如下所示:(見書)

4.4訪問計數(shù)器

4.4.1案例效果

圖4-12訪問計數(shù)器

4.4訪問計數(shù)器4.1.2案例實現(xiàn)(見書)4.4.3知識拓展1.Cookie簡介

Cookie是Web服務器保存在客戶端的一段數(shù)據(jù)文本。Cookie允許一個Web站點在客戶端的計算機上保存信息并在以后再取回它??梢杂肅ookie臨時保存用戶的賬號和口令,ASP可以隨時讀取,驗證用戶的合法性;也可以將用戶的瀏覽狀態(tài)保存在Cookie中,下次用戶再訪問網(wǎng)頁時,由ASP向瀏覽器顯示個性化頁面。從本質(zhì)上來說,Cookie其實是一個標簽,經(jīng)??赡苈牭降闹形姆g:小舔餅。當用戶訪問一個需要存儲Cookie的Web站點時,網(wǎng)站會在用戶的硬盤上留下一個標記,下一次用戶訪問同一個站點時,站點的頁面會查找這個標記,并執(zhí)行相應內(nèi)容。

4.4訪問計數(shù)器如果客戶端瀏覽器發(fā)送了兩個同名的cookie,那么Request.Cookie將返回其中路徑結構較深的一個。例如,如果有兩個同名的cookie,但其中一個的路徑屬性為/www/而另一個為/www/aspteach/,客戶端瀏覽器會將兩個cookie都發(fā)送到/www/aspteach/目錄中,因此,Request.Cookie將只能返回第二個cookie。

在讀取Cookie集合時,可以通過Foreach語句來循環(huán)獲取集合里的Cookie。下面是一個瀏覽Cookie集合的例子。<!--browncookie.asp--><html><head><metahttp-equiv="Content-Type"

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論