版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
第五章ASP的內(nèi)建對象RequestResponseSessionApplicationServer5.1Request對象〔獲取客戶請求〕Request對象用來獲得客戶端的信息,比方用戶的注冊信息等。共有兩種獲取方法,分別是QueryString和Form。另外,Request對象還有Cookies的讀取功能〔Response對象具有Cookies的保存功能〕。表單method={post;get}:指定表單數(shù)據(jù)傳給表單處理程序的方法。
Get:表單數(shù)據(jù)會保存在環(huán)境變量query_string中,表單處理程序可以從此變量取得表單數(shù)據(jù)。Post:表單處理程序可以通過Form直接取得表單數(shù)據(jù)。Request對象〔獲取客戶請求〕1、使用QueryString得到get方法的數(shù)據(jù): 格式:Request.QueryString(“字段名”) 功能:用來取得前頁所發(fā)送的值〔是利用參數(shù)來取得Get發(fā)送的數(shù)據(jù)〕。有三種方式可以產(chǎn)生get請求:1、使用表單:<Formaction=“5-2log.asp”method=“get”>……</Form>2、瀏覽器地址欄輸入:://localhost:800/5-2log.asp?username=xyz&pwd=1233、使用超鏈接:<ahrefxyz&pwd=123”>顯示內(nèi)容Request對象〔獲取客戶請求〕1、使用QueryString得到get方法的數(shù)據(jù):
當(dāng)get方法遇到具有同一名稱的多個表單元素時,這些元素將被放到一個集合中,可以通過循環(huán)取得它們的值。Request.QueryString和get方法的缺點是:請求串會被一些瀏覽器直接顯示在地址欄內(nèi),信息保密性不好?。equest對象〔獲取客戶請求〕2、From集合: 格式:Request.Form(“字段名”) 功能:用來取得前頁發(fā)送的值〔是利用表單取得Post發(fā)送的數(shù)據(jù)〕。方法:<formaction="5-6.asp"method="post">……</form>
表單method={post;get}:指定表單數(shù)據(jù)傳給表單處理程序的方法。
Get:表單數(shù)據(jù)會保存在環(huán)境變量query_string中,表單處理程序可以從此變量取得表單數(shù)據(jù)。Post:表單處理程序可以通過Form直接取得表單數(shù)據(jù)。3、Cookies集合:〔讀取cookies值〕〔詳細見后面〕
格式:Request.Cookies(“cookies名稱”)(“Key名稱”).Attribute。
功能:用來得到客戶端cookies的值?!彩褂肦esponse可以對Cookies值進行寫入〕。Response對象的方法1、Write方法: 格式:Response.Write字符串/函數(shù) 功能:用來輸出結(jié)果到瀏覽器。 注意:輸出的字符串長度必須小于1022字符,超過用變量表示。輸出“%>”字符時,必須寫成“%\>”,否那么語法錯誤。2、Redirect方法:格式:Response.Redirect“URL”功能:轉(zhuǎn)向另一個網(wǎng)頁。5.2Response對象〔向客戶輸出數(shù)據(jù)〕三、cookies數(shù)據(jù)集合Cookie是在客戶端訪問網(wǎng)站時,web效勞器在客戶端寫入的一些信息,并且存放在客戶端上,當(dāng)再次使用相同瀏覽器請求同一效勞器時,可以把以前寫入的cookie值傳給web效勞器。使用cookie可以在頁面間交換信息,如認(rèn)證客戶密碼。ASP腳本可以使用Request和Response對象中的cookies數(shù)據(jù)集合,設(shè)置和獲取cookie的值。三、cookies數(shù)據(jù)集合默認(rèn)的生命周期始于被寫入瀏覽器端的那一刻開始,結(jié)束于瀏覽器關(guān)閉??梢栽O(shè)置存在期限,使用resopnse.cookies(name).expire屬性即可。只能記錄串、數(shù)值等簡單數(shù)據(jù)類型,無法記錄數(shù)組、對象等復(fù)雜信息??赡鼙粍h掉,可能導(dǎo)致個人信息被竊取。1、向客戶端寫入CookieResponse.Cookies(“Cookies的名稱”)(“key名稱”).Attribute=valuekey:可選參數(shù),如果指定,那么該cookies就是一個字典,key值作為“Cookies名稱”的下級子關(guān)鍵字。Attribute:可選參數(shù)。常用的是:Expires〔指定cookies生命周期〕。注意:cookies的值將被存儲在客戶端的小文件中。但是,沒有設(shè)定Expires的cookies的生命周期是當(dāng)瀏覽器關(guān)閉時生命結(jié)束,這樣的cookies只需記錄在內(nèi)存中,不會被記錄在小文件中。2、得到客戶端的cookieRequest.cookies(cookie名)(key名).attribute如果使用key,那么cookie變?yōu)橐粋€字典,可以通過key訪問字典中的子關(guān)鍵字。對于字典,如果讀取時沒有指定key,那么所有子關(guān)鍵字以一個字符串返回。5.3Session對象 Session對象是記錄在效勞器端的變量。只記錄特定客戶的某次訪問的信息。假設(shè)有五個客戶訪問網(wǎng)站,將會有五個session。 Session有效期開始于瀏覽器與效勞器連接,終止于會話被放棄〔并非關(guān)閉瀏覽器〕或超時。、利用session對象存儲信息:格式:Session(“session名字”)=變量或字符串信息說明:既創(chuàng)立了session又給session賦了值。當(dāng)用戶在頁面間跳轉(zhuǎn)時,session值不會被去除。利用session對象實現(xiàn)頁面間信息共享〔舉例〕先使用用戶輸入的信息創(chuàng)立session:<%session(“myname”)=“suntao”session(“password”)=“888”%>在其他頁面再使用session:<%name=session(“myname”)pwd=session(“password”)%>、session和cookie的區(qū)別Session對象記錄每一位客戶的信息,信息存儲于效勞器端;有效期開始于瀏覽器與效勞器連接,終止于會話被放棄或超時,可以使用timeout屬性設(shè)置有效期。Application對象用來管理應(yīng)用程序,所有用戶共享信息。如果不加以限制,所有用戶都可以訪問。它開始于對Web效勞器的第一個asp文件請求,結(jié)束于效勞器的關(guān)閉。Cookie是Web效勞器放在客戶端的信息,默認(rèn)的生命周期始于被寫入瀏覽器端的那一刻開始,結(jié)束于瀏覽器關(guān)閉,可以使用expire屬性設(shè)置存在期限。、session對象的屬性、事件及方法一、屬性:TimeOut屬性: 格式:Session.TimeOut[=時間〔分鐘〕] 功能:用來設(shè)置每個Session的結(jié)束時間?!材J(rèn)20min〕
二、方法:Abandon方法: 格式:Session.Abandon 功能:用來結(jié)束會話狀態(tài)〔Session〕,刪除所有存儲在session對象的變量。<%session.abandon%>注意:abandon對session變量的撤銷功能僅在當(dāng)前頁面結(jié)束時生效,而且對所有的session變量都有效。舉例session1.htm:遞交信息Session2.asp:取得信息,并設(shè)置session值Session3.asp:讀取session值問題:1Session對象究竟是什么時候結(jié)束的?答:Session存儲于效勞器上,效勞器會在timeout或abandon時撤銷Session變量。瀏覽器關(guān)閉時Session變量不會被立刻撤銷!問題:2瀏覽器關(guān)閉時,Session變量仍然存在,所以再次翻開瀏覽器還可以訪問到原來的Session嗎?答:不能,因為重新翻開瀏覽器就相當(dāng)于一次新的登陸,所看到的是新的Session變量!舊的Session變量雖然存在,但已經(jīng)不可用了〔新舊Session變量共存于效勞器上〕。即:使用Session變量紀(jì)錄登陸次數(shù)時,“刷新后”還是“舊變量值”〔1,2,3,4,…〕,但是關(guān)掉瀏覽器再開時就是“新變量值”〔1,2,3,1,2,…〕了!問題:3效勞器為什么不在瀏覽器關(guān)閉的時候撤銷Session變量?答:效勞器無法知道客戶端瀏覽器是否關(guān)閉了!問題:4Timeout值可以設(shè)為無限嗎?答:不能,Session變量永遠是臨時的,因為如果Session變量設(shè)為無限的,那么,效勞器對每個用戶的每次登陸都將產(chǎn)生假設(shè)干個Session變量,而且不可刪除,久而久之,效勞器會不堪重負的!需要長期存儲的信息不應(yīng)該使用Session變量實現(xiàn),而應(yīng)使用Cookies實現(xiàn)。5.4Application對象 Application對象在asp中用來管理所有用戶間的共享信息。如果不加以限制,所有用戶都可以訪問。 它開始于對Web效勞器的第一個asp文件請求,結(jié)束于效勞器的關(guān)閉。5.4.1設(shè)置和取得Application對象格式:application(“application名字”〕=變量名或串Application對象與Session對象的區(qū)別Session對象2Session對象1
Session對象3瀏覽器1
瀏覽器3
瀏覽器2
Application對象5.4.2application對象的屬性、事件和方法一、方法1、Lock方法: 功能:鎖定application,禁止其他用戶修改Application對象中的變量。2、UnLock方法: 功能:解除application的鎖定。向application和session對象存儲數(shù)組信息要整體賦值:例如dimmyarray(1)myarray(0)="hello"myarray(1)="world“Session(“introduce”)=myarray使用application對象的本卷須知不能在application對象中存儲ASP內(nèi)建對象把數(shù)組存儲在application中,不能直接更改元素。具體用法見例app0.asp和9_0.asp:未運行app0.asp而先運行9_0.asp時,出錯,因為application變量尚未定義;先運行app0.asp之后運行9_0.asp就正確了;全部關(guān)閉,再直接運行9_0.asp也沒問題,因為application變量是長期存在的,除非效勞器重啟;對于application數(shù)組變量,直接對其元素賦值是無效的,必須整體取下來作為局部變量來賦值,然后再放上去。舉例App1.asp:選擇瀏覽網(wǎng)頁的語種App2.asp:處理用戶信息并設(shè)置Application變量〔首次使用的application變量或session變量的初值為0或“”〕App3.asp:查看Application對象記錄的使用者情況小結(jié):Application對象在web效勞器開始執(zhí)行時被建立,在web效勞器關(guān)機時被撤銷。session對象在瀏覽器與效勞器聯(lián)機時被建立;在session被abandon時,或瀏覽器在session.timeout設(shè)置的時間之內(nèi)沒有存取網(wǎng)頁時被撤銷(而不是瀏覽器關(guān)閉時)。Application是瀏覽器端共享變量,session是各個瀏覽器的專用變量。聊天室的實現(xiàn)實現(xiàn):index.asp首頁,用戶登陸chat.asp聊天界面框架主文件〔保存來訪者信息,以通知他人〕input.asp輸入內(nèi)容文件main.asp顯示聊天信息文件exit.asp退出聊天文件使用了如下application或session變量:Application(“show”)用于存儲聊天室的聊天內(nèi)容;Application(“user_online”)用于存儲當(dāng)前用戶數(shù);session(“user_name”)用于存儲用戶昵稱。對于Application(“user_online”)的統(tǒng)計可以放在Global.asa中。5.5Server對象Server對象主要是讓用戶使用Web效勞器所提供的功能組件。比方:數(shù)據(jù)庫連接組件〔第七章〕、文件訪問組件、廣告顯示組件〔第八章〕等等,這些都是vbscript不能提供的功能。一、屬性:ScriptTimeOut屬性: 格式:Server.ScriptTimeOut[=時間〔秒〕] 功能:用來設(shè)置Script執(zhí)行時的過期時間〔默認(rèn)90秒〕。 注意:必須放在asp文件的最前面。<%server.scripttimeout=120%>效勞器處理腳本時,如果超過這個時間而未結(jié)束,那么不再執(zhí)行。二、方法:1、CreateObject方法:〔用法見第七章和第八章〕格式:set名稱=Server.CreateObject〔”ActiveXserver組件”〕功能:建立效勞器組件,該方法可以為ASP提供訪問數(shù)據(jù)庫等強大功能。注意:應(yīng)放在asp文件的最前面。例如:setcm=server.createobject(“adodbmand”)setcn=server.createobject(“adodb.connection”)setrs=server.createobject(“adodb.recordset”)2、MapPath方法:〔略〕知道MapPath根本功能即可——給出文件的物理路徑。 格式:Server.MapPath〔”path”〕 功能:path代表了相對目錄或虛擬目錄,MapPath的功能是提供其所對應(yīng)的效勞器物理目錄。注意:如果Path是完整的虛擬目錄,那么應(yīng)以\開始;如果Path是相對目錄,那么不以\開始。相對路徑、虛擬路徑〔即絕對路徑〕:wwwrootasptdtbta1.asp4.asp3.asp2.asp5.asp根目錄虛擬目錄子目錄假設(shè)要在3.asp中分別鏈到其他asp文件。1、相對路徑<ahref=“..\1.asp”>1.asp</a><ahref=“..\ta\2.asp”>2.asp</a><ahref=“4.asp”>4.as
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年上半年幼兒園學(xué)期工作總結(jié)(3篇)
- 2025年一年級語文教學(xué)工作總結(jié)第二學(xué)期范文(二篇)
- 2025年專科醫(yī)院年終總結(jié)(4篇)
- 2025年8月學(xué)校辦公室工作總結(jié)例文(四篇)
- 2025年《中學(xué)生行為規(guī)范守則》學(xué)習(xí)心得模版(4篇)
- 2025年“我要安全”心心得體會樣本(3篇)
- 2025年6月店長工作總結(jié)范例(三篇)
- 2025年度車輛交易擔(dān)保服務(wù)合同范本
- 二零二五年度電梯維保合同終止及環(huán)保協(xié)議
- 二零二五年度生活污水排放權(quán)交易與環(huán)保責(zé)任保險合同
- 蛋糕店服務(wù)員勞動合同
- 土地買賣合同參考模板
- 2025高考數(shù)學(xué)二輪復(fù)習(xí)-專題一-微專題10-同構(gòu)函數(shù)問題-專項訓(xùn)練【含答案】
- 2025年天津市政建設(shè)集團招聘筆試參考題庫含答案解析
- 2024-2030年中國烘焙食品行業(yè)運營效益及營銷前景預(yù)測報告
- 寧德時代筆試題庫
- 康復(fù)醫(yī)院患者隱私保護管理制度
- 公司安全事故隱患內(nèi)部舉報、報告獎勵制度
- 沈陽理工大學(xué)《數(shù)》2022-2023學(xué)年第一學(xué)期期末試卷
- 北京三甲中醫(yī)疼痛科合作方案
- QCT957-2023洗掃車技術(shù)規(guī)范
評論
0/150
提交評論