Web表單和Request對(duì)象.ppt_第1頁(yè)
Web表單和Request對(duì)象.ppt_第2頁(yè)
Web表單和Request對(duì)象.ppt_第3頁(yè)
Web表單和Request對(duì)象.ppt_第4頁(yè)
Web表單和Request對(duì)象.ppt_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第5章 Web表單和Request對(duì)象,本章要點(diǎn): WEB中表單的設(shè)計(jì)和數(shù)據(jù)的提交 掌握文本框、復(fù)選框、下拉菜單、單選按鈕等控件的運(yùn)用 Request對(duì)象詳解,在Web應(yīng)用程序中,用戶瀏覽信息、輸入信息以及與服務(wù)器的交互,都通過瀏覽器實(shí)現(xiàn)。用戶提交請(qǐng)求數(shù)據(jù),必須先在瀏覽器頁(yè)面上輸入數(shù)據(jù),然后通過表單向服務(wù)器提交請(qǐng)求數(shù)據(jù),服務(wù)器將處理的結(jié)果通過瀏覽器再輸出到相應(yīng)的頁(yè)面中。 第4章介紹了有關(guān)Response對(duì)象的運(yùn)用,它主要作用是把數(shù)據(jù)下載到瀏覽器,而Request對(duì)象則是用來讀取瀏覽器的信息,例如獲取用戶通過瀏覽器輸入的數(shù)據(jù)。本章詳細(xì)介紹如何設(shè)計(jì)用戶輸入數(shù)據(jù)的表單以及如何處理用戶請(qǐng)求的數(shù)據(jù)。,5

2、.1Web表單,5.1.1表單數(shù)據(jù)的提交 在一個(gè)Web應(yīng)用程序中,HTML表單(也稱窗體)是收集用戶請(qǐng)求數(shù)據(jù)最基本的方法。要建立一個(gè)交互式的Web應(yīng)用程序,需要使用HTML表單,它可以讓用戶輸入信息,并對(duì)此做出反應(yīng)。使用表單可以建立類似復(fù)選框、單選按鈕以及文本框等常用控件(也可稱為元素)。在網(wǎng)上可以經(jīng)常看到諸如會(huì)員注冊(cè)、用戶登錄、留言簿、論壇等用表單形式實(shí)現(xiàn)各種交互功能的應(yīng)用。,格式里包含的屬性:, name屬性 表示該表單的名稱。 method屬性 表示表單的請(qǐng)求類型,服務(wù)器應(yīng)該如何處理由瀏覽器提供的URL信息。通常包括兩種常用的屬性值:get和post。表單在發(fā)送數(shù)據(jù)時(shí),若采用get方法,

3、會(huì)把數(shù)據(jù)作為URL的參數(shù)。而用post方法提交,發(fā)送的信息包含在請(qǐng)求的主體之中,不會(huì)顯示在URL中。通常采用post方法比較多。 action屬性 表示將當(dāng)前表單中的數(shù)據(jù)發(fā)送到哪個(gè)文件進(jìn)行處理,通常是一個(gè)ASP文件。如在5_1a.asp文件的表單中action=5_1b.asp,表示將當(dāng)前表單中的所有控件的值發(fā)送到5_1b.asp文件進(jìn)行處理。由此可知,為什么點(diǎn)擊“提交”按鈕后,瀏覽器會(huì)自動(dòng)轉(zhuǎn)到5_1b.asp頁(yè)面。如果提交到本頁(yè)面,則可以省略action屬性。,格式里包含的屬性:, enctype屬性 表示數(shù)據(jù)傳送MIME類型,通??梢允÷浴?target屬性 表示輸出窗口或分頁(yè)的名稱,在框

4、架中處理表單時(shí),經(jīng)常會(huì)使用。比如在點(diǎn)擊“提交”按鈕后,使action所指的目標(biāo)也在新建頁(yè)面中打開,則可把target屬性設(shè)置為“_blank”。通??梢允÷浴?在這里強(qiáng)調(diào)的是:表單控件(包括文本框、密碼框、復(fù)選框、單選按鈕、下拉菜單控件、列表框、提交按鈕、多行文本框以及隱藏控件)必須添加在之間,添加在之外的控件的數(shù)據(jù),將不會(huì)被正確提交到目標(biāo)頁(yè)中。而且,一般在表單中應(yīng)該至少包含一個(gè)提交按鈕,如。在瀏覽器中通過單擊該提交按鈕,將把表單中的數(shù)據(jù)發(fā)送到目標(biāo)頁(yè)面中進(jìn)行處理。注意它的類型往往會(huì)是submit。,5.1.2用Request對(duì)象接收表單數(shù)據(jù),前面介紹通過指定表單的action屬性,可將表單控件

5、的數(shù)據(jù)發(fā)送到目標(biāo)頁(yè)。而在目標(biāo)頁(yè)中,如何接收表單提交過來的數(shù)據(jù)呢?這里,需要使用Requeset對(duì)象進(jìn)行數(shù)據(jù)接收,Request對(duì)象接收數(shù)據(jù)簡(jiǎn)化的格式為: Request (參數(shù)) 其中的參數(shù)表示form表單中控件(或元素)的名稱或者是變量名。,form的method屬性和Request對(duì)象接收集合的對(duì)應(yīng)關(guān)系,5.2 Web表單控件,眾所周知,要建立一個(gè)交互式的網(wǎng)頁(yè),需要使用HTML表單,它可以讓管理員收集訪問該網(wǎng)站的用戶提供的信息,并對(duì)此做出反應(yīng)。使用表單,可以建立像文本框、按鈕、復(fù)選框、單選按鈕及列表框等控件。有了這些控件用戶就可以隨心所欲的進(jìn)行交互。,5.2.1文本框,文本框是最基本的表單

6、控件,幾乎每個(gè)表單都要用到文本框控件。它的HTML格式如下: 在該格式中,以為基本標(biāo)記,其中包含了type、name、size、maxlength、value等屬性,下面逐一介紹。 1.標(biāo)記 該標(biāo)記是文本框控件的起始標(biāo)記,以Input開頭的控件還有:按鈕、密碼框、復(fù)選框、單選按鈕、隱藏控件等,在缺省其它屬性的情況下表示文本框控件。 2.type屬性 該屬性說明控件的類型。如type=text,表示文本框;type=password,表示密碼框等。實(shí)際上在表示文本框時(shí),type屬性可以省略,因?yàn)闃?biāo)記符缺省type屬性設(shè)為text。例如語(yǔ)句,雖然沒有指定屬性type=text,同樣可以表示一個(gè)文本

7、框控件。,5.2.1文本框,3.name屬性 表示控件的名稱,一般任何一個(gè)要提交數(shù)據(jù)的控件都必須要加入該屬性。它也是Request對(duì)象接收數(shù)據(jù)的依據(jù)。例如,要接收文本框輸入的內(nèi)容,就要用Request(text1)來接收。其中的text1就是name屬性的值,作為Request對(duì)象的參數(shù)。 4.value屬性 表示文本框控件的默認(rèn)值,指定在用戶輸入前缺省狀態(tài)下文本框中顯示的文字。例如,假設(shè)有一個(gè)文本框,讓用戶在其中輸入國(guó)別,預(yù)計(jì)大部分用戶都是中國(guó)人,則可以使用將文本框的缺省值設(shè)為“中國(guó)”。,5.2.1文本框,5.size屬性 該屬性控制文本框的寬度,使用時(shí)可根據(jù)需要以字符數(shù)來指定size屬性的

8、值。 6.maxlength屬性 該屬性限制文本框輸入字符的個(gè)數(shù)。例如,想讓用戶輸入6個(gè)數(shù)字的郵政編碼,也就是不讓用戶輸入超過6個(gè)字符,這就要靠maxlength來實(shí)現(xiàn)。,5.2.2按鈕,在HTML表單中使用的典型按鈕有三種,分別是重置按鈕、提交按鈕和普通按鈕,它們的HTML格式代碼如下: 三種按鈕都是以標(biāo)記開頭,決定三種按鈕類型的是type屬性,其中submit表示提交按鈕,是專門用于提交表單內(nèi)容的;reset表示重置按鈕,將當(dāng)前表單中控件都恢復(fù)為默認(rèn)值(value屬性的值);button表示普通按鈕,它本身沒有特殊作用,一般要結(jié)合客戶端腳本語(yǔ)言使用。其中,提交按鈕和重置按鈕一般都使用在表單

9、域中。value屬性的值決定了在按鈕上顯示的文字。,1.提交按鈕,前面已經(jīng)介紹過提交按鈕。當(dāng)單擊提交按鈕時(shí),表單內(nèi)容會(huì)提交到action屬性所指定的頁(yè)面進(jìn)行處理。因此,一般在表單中提交按鈕必不可少。當(dāng)在FrontPage中插入表單時(shí),一般會(huì)自動(dòng)生成提交按鈕和重置按鈕。且提交按鈕必須放置在表單內(nèi)部,如果放在表單之外,它將起不到提交數(shù)據(jù)的作用。,2.重置按鈕,重置按鈕的主要作用是將同一表單中的控件都恢復(fù)為默認(rèn)值,所謂控件的默認(rèn)值就是value屬性的值。這樣可以避免數(shù)據(jù)被錯(cuò)誤修改。,3.普通按鈕,普通按鈕本身沒有特殊作用,通常需要結(jié)合客戶端腳本語(yǔ)言(VBScript和JavaScript腳本)一起使

10、用,例如單擊按鈕時(shí)出現(xiàn)某種特效,這就要結(jié)合OnClick事件和客戶端腳本進(jìn)行編程。代碼5-3使用單擊按鈕,用于關(guān)閉當(dāng)前窗口。,5.2.3密碼框,密碼框的工作原理與文本框類似,只是當(dāng)輸入數(shù)據(jù)時(shí)不明確顯示,而是用*來代替。這樣一來,在一定程度上防止了密碼外泄。密碼框主要運(yùn)用在用戶注冊(cè)和登錄界面中。,5.2.4滾動(dòng)文本框,普通文本框只能在一行上輸入數(shù)據(jù),輸入的數(shù)據(jù)比較有限。滾動(dòng)文本框彌補(bǔ)普通文本框的缺陷,它可以輸入更多的數(shù)據(jù),且可以換行輸入。在FrontPage中要插入滾動(dòng)文本框可以選擇菜單【插入】【表單】【滾動(dòng)文本框】選項(xiàng)。如果需要設(shè)置滾動(dòng)文本框的屬性,則可在插入的滾動(dòng)文本框上單擊鼠標(biāo)右鍵,選擇“

11、表單域?qū)傩浴保霈F(xiàn)“滾動(dòng)支本框?qū)傩浴贝翱凇?使用滾動(dòng)文本框要注意以下幾點(diǎn), 由于滾動(dòng)文本框可輸入的數(shù)據(jù)較多,當(dāng)某一表單要使用滾動(dòng)文本框時(shí),最好將Method屬性設(shè)置為Post,若設(shè)置成Get,則會(huì)受到傳輸數(shù)據(jù)量的限制,造成文字傳輸不完整。 如果要在ASP程序中使用Response.Write方法顯示滾動(dòng)文本框的內(nèi)容(這兒所指的不是顯示在滾動(dòng)文本框上),特別需要注意換行符。滾動(dòng)文本框的換行符在VbScript腳本中可使用常量VbCrlf(等于Chr(13)+Chr(10))表示,只是它在瀏覽窗口顯示時(shí)并不體現(xiàn)換行。所以應(yīng)該先將其轉(zhuǎn)換成HTML語(yǔ)言中的換行標(biāo)記或者。而如果是顯示在滾動(dòng)文本框上,則不

12、需要轉(zhuǎn)換。,5.2.5復(fù)選框和單選按鈕,在某些表單中用戶不需要輸入數(shù)據(jù),而只需提供一些固定的選項(xiàng)讓用戶選擇,復(fù)選框和單選按鈕就是此類控件。復(fù)選框可在眾多選項(xiàng)中選擇多個(gè),而在一組單選按鈕中則只允許選擇其中一個(gè)。,5.2.6下拉菜單和列表框,復(fù)選框和單選按鈕都是可以讓用戶選擇要輸入的內(nèi)容,下拉菜單和列表框也是提供用戶選擇的控件。,5.2.7隱藏控件,隱藏控件不顯示在窗體中,但控件信息卻可以在窗體提交時(shí)被包含。 隱藏控件有時(shí)候十分有用。在設(shè)計(jì)ASP程序時(shí),往往會(huì)在網(wǎng)頁(yè)之間傳遞隱藏信息。使用隱藏控件可以建立不依賴于Cookies的變量,這樣做既有優(yōu)點(diǎn)也有缺點(diǎn)。,5.3Request對(duì)象綜述,在介紹表單

13、的同時(shí),已經(jīng)使用了Request對(duì)象接收從表單中的數(shù)據(jù)。實(shí)際上,用Request 對(duì)象可以訪問任何基于HTTP請(qǐng)求傳遞的信息,包括從HTML表格用POST方法或GET方法傳遞的參數(shù),cookie和用戶認(rèn)證也可以訪問客戶端發(fā)送給服務(wù)器的二進(jìn)制數(shù)據(jù)。Request對(duì)象包含QueryString、Form、Cookies、ServerVariables、ClientCertificate五個(gè)集合和一個(gè)BinaryRead方法以及一個(gè)TotalBytes屬性。,5.3.1Form集合,Form集合可以接收HTML表單中用Post方法提交過來的數(shù)據(jù)。格式如下: Request.Form (element

14、) (index)|.Count 其中,參數(shù)element用于指定集合要檢索的表單控件元素的名稱;index為可選參數(shù),使用該參數(shù)可以訪問多個(gè)數(shù)據(jù)值中的一個(gè),可以是1到Request.Form(element).Count之間的任意整數(shù);參數(shù)Count用于指定集合中元素的個(gè)數(shù) 。,5.3.2QueryString集合,QueryString集合用于接收用Get方法提交的表單數(shù)據(jù),也可以檢索HTTP查詢字符串中變量的值。HTTP查詢字符串由問號(hào)后面的值所指定,例如有下列一個(gè)超鏈接: 學(xué)校 在Example.asp的問號(hào)(?)后傳遞一個(gè)變量School,變量值為“浙江工業(yè)職業(yè)技術(shù)學(xué)院”。這樣在Ex

15、ample.asp代碼中,就可以用Request.QueryString(School)來接收School變量傳遞的值。GET方法提交的表單或者由用戶在瀏覽器地址欄中鍵入查詢均可以生成查詢字符串。,5.3.3Cookies集合,Cookies俗稱甜餅,可以在客戶端長(zhǎng)期保存訪問某個(gè)網(wǎng)站的信息。當(dāng)?shù)谝淮卧L問一個(gè)WEB站點(diǎn)時(shí),它會(huì)將有關(guān)信息保存到計(jì)算機(jī)的硬盤上。下一次訪問同一個(gè)站點(diǎn)時(shí),站點(diǎn)的頁(yè)面會(huì)讀取計(jì)算機(jī)上的Cookies,并將新的信息保存到計(jì)算機(jī)上。,5.3.4ServerVariables集合,瀏覽器瀏覽網(wǎng)頁(yè)使用的是HTTP協(xié)議,在HTTP的標(biāo)題文件中會(huì)記錄一些客戶端的信息,如客戶的IP地址等

16、等,有時(shí)服務(wù)器端需要根據(jù)不同的客戶端信息做出不同的反映,此時(shí)需使用ServerVariables集合獲取信息。該集合語(yǔ)法如下: Request.ServerVariables(服務(wù)器環(huán)境變量),5.3.5ClientCertificate集合,Request對(duì)象的ClientCertificate集合提供了客戶數(shù)字認(rèn)證。當(dāng)客戶瀏覽器支持安全套節(jié)字層(Secure Sockets Layer,SSL)協(xié)議(即URL以HTTPS:/ 開頭),而且瀏覽器所連接到Web服務(wù)器頁(yè)運(yùn)行于SSL的時(shí)候,客戶認(rèn)證將被發(fā)送給Web服務(wù)器。語(yǔ)法如下: Request.ClientCertificate (關(guān)鍵字),5.3.6TotalBytes屬性,Request對(duì)象只有一個(gè)只讀屬性即TotalBytes,用來指定客戶端在請(qǐng)求中發(fā)送的總字節(jié)數(shù)。語(yǔ)法如下: Counter=Request.TotalBytes 例如,用來返回客戶端發(fā)送的總字節(jié)數(shù)腳本。 ,5.3.7BinaryRead方法,Request對(duì)象只有一個(gè)BinaryRead方法,檢索用POST方法從客戶端發(fā)送到服務(wù)器的一部分?jǐn)?shù)據(jù)。Request.BinaryRead方法可以直接讀取一定字節(jié)數(shù)的參數(shù),并返回變體類型的數(shù)組,其中包含從請(qǐng)求的POST段中得到的字節(jié)(例如在ASP的Form集合中數(shù)據(jù))。

溫馨提示

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

評(píng)論

0/150

提交評(píng)論