ASP教程3-ASP五大對(duì)象.ppt_第1頁(yè)
ASP教程3-ASP五大對(duì)象.ppt_第2頁(yè)
ASP教程3-ASP五大對(duì)象.ppt_第3頁(yè)
ASP教程3-ASP五大對(duì)象.ppt_第4頁(yè)
ASP教程3-ASP五大對(duì)象.ppt_第5頁(yè)
已閱讀5頁(yè),還剩41頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、ASP五大對(duì)象,2007.3.30,聲明,所有的asp代碼必須寫在之間 如果想在代碼間寫入代碼,務(wù)必用response.write方法輸出 在代碼中,想注釋某句代碼要用號(hào) 想把代碼寫的塊的盡量想成塊,一個(gè)網(wǎng)頁(yè)內(nèi)部分散的代碼塊越多,運(yùn)行速度就越慢 代碼必須在里設(shè)置了運(yùn)行環(huán)境才能正常運(yùn)行,否則不能正常執(zhí)行代碼,會(huì)出現(xiàn)錯(cuò)誤,或錯(cuò)誤 所有的代碼必須在英文狀態(tài)下編輯,不能錄入漢字 在代碼里聲明變量一定要合法,不要與保留字重名 腳本語(yǔ)言只是網(wǎng)頁(yè)中的一部分,大部分為代碼,只有在變量的代碼我們才會(huì)用到代碼,那為什么要學(xué)對(duì)象,對(duì)象的作用又是如何的?,其實(shí)ASP所提供的這些可在腳本中使用的內(nèi)建對(duì)象,使用戶更容易收

2、集通過(guò)瀏覽器請(qǐng)求發(fā)送的信息、響應(yīng)瀏覽器以及存儲(chǔ)用戶信息,從而使對(duì)象開發(fā)者擺脫了很多煩瑣的工作。,ASP中的五個(gè)基本對(duì)象,Request對(duì)象 提供有關(guān)訪問(wèn)者的信息 Response對(duì)象 用于建立對(duì)訪問(wèn)者的響應(yīng)的方法和屬性 Session對(duì)象 保留一個(gè)特定訪問(wèn)者信息的方法和屬性 Application對(duì)象 處理被看成是一個(gè)應(yīng)用程序的一組Web頁(yè)面的屬性 Server對(duì)象 處理有關(guān)創(chuàng)建服務(wù)器組件和服務(wù)器設(shè)置的問(wèn)題,Request對(duì)象功能,在服務(wù)器端接受并得到從客戶端瀏覽器提交或上傳的信息。Request 對(duì)象可以訪問(wèn)任何基于 HTTP 請(qǐng)求傳遞的所有信息,包括從Form表單用 POST 方法或 GE

3、T 方法傳遞的參數(shù)、cookie 等。,Request對(duì)象的集合,Form集合 QueryString集合 ServerVariables集合 Cookies集合 Clientcertificate集合,Form集合,request.form(“name”) 這是接受上一頁(yè)的信息時(shí),常會(huì)用到的一種接受方式。Request是ASP對(duì)象,form則是Request對(duì)象所包含的對(duì)象集合,name也就是上一頁(yè)表單中的某個(gè)文本框、密碼框,或者隱藏域等的名稱。要求上一頁(yè)Form表單的遞交方法一定要為Post方法。 即表單提交的方式method=“post” 注:request.form就是要提取表單中所填

4、寫的信息,可以把值賦給一個(gè)變量此時(shí)得到的值是表單元素的value值,S1: test1.html(本頁(yè)是HTML的,主要提供輸入信息的平臺(tái),以將信息提交到再下面的ASP頁(yè)進(jìn)行接受處理) 用戶名:密碼: 注意按扭的type必須為submit,只有提交按扭才會(huì)有提交的功能,reset,button是無(wú)此功能的且提交的頁(yè)面表單的 actionsubmit1.asp ,methodpost,submit1.asp 用戶名:pwd : 通過(guò)IIS進(jìn)行HTTP協(xié)議的頁(yè)面調(diào)試,你會(huì)發(fā)現(xiàn)兩個(gè)頁(yè)面進(jìn)行了關(guān)聯(lián):test1.html中動(dòng)態(tài)輸入的username和pwd,在submit1.asp也則進(jìn)行相應(yīng)的動(dòng)態(tài)顯示

5、。這就是接收、提取并顯示信息的全過(guò)程。,改進(jìn)的submit1.asp ” next %采用了for循環(huán)語(yǔ)句,將上頁(yè)所有的form標(biāo)簽信息進(jìn)行接受、并顯示。這在上表單頁(yè)有很多項(xiàng)目時(shí),非??旖莸爻鰜?lái)結(jié)果。首先仍然是request.form,只是后面的(“username)(“pwd)成了變量 aa,通過(guò)for循環(huán)對(duì)該form集合進(jìn)行遍歷提取,這是一種不同于機(jī)械地“有幾個(gè)就提取幾個(gè)”的編程思想.,編輯技巧,在提取表單元素值的時(shí)候,我們最好先將它賦給一個(gè)變量,這樣以后再調(diào)用這個(gè)元素值的時(shí)候不用最去服務(wù)器上提取直接用變量就可以了,加快了代碼運(yùn)行的速度 在提取表單元素值的時(shí)候,我們最好指定提取哪個(gè)元素的值

6、,盡量不用遍歷提取,這樣可以加快代碼執(zhí)行的速度 在制作表單時(shí),給每個(gè)表單命名應(yīng)該盡量起個(gè)有意義的名字最好跟要賦值的變量的名字一致,這樣可以避免出錯(cuò) 當(dāng)我們把表單元素的所有內(nèi)容作為一張表單來(lái)處理的時(shí)候,所有的表單元素必須放在同一個(gè)表單內(nèi)部初學(xué)者很容易弄混 同一個(gè)網(wǎng)頁(yè)要提取不同的表單的時(shí)候,要?jiǎng)?chuàng)建多個(gè)表單每個(gè)表單內(nèi)部都有自己的提交按忸,提交按扭只對(duì)本表單內(nèi)容的元素有提交的功能,跟其它表單沒有關(guān)系 提交按扭想做成圖片,可以用圖像域來(lái)代替提交按扭,Querystring集合,request.querystring(“name”) 這是接受上一頁(yè)的信息時(shí),常會(huì)用到的一種接受方式。Request是ASP對(duì)

7、象,form則是Request對(duì)象所包含的對(duì)象集合,name也就是上一頁(yè)表單中的某個(gè)文本框、密碼框,或者隱藏域等的名稱。要求上一頁(yè)Form表單的遞交方法一定要為get方法。 即表單提交的方式method=“get” 注:request.querystring就是要提取表單中所填寫的信息,可以把值賦給一個(gè)變量此時(shí)得到的值是表單元素的value值,Form與querystring區(qū)別,表單提交方式不同F(xiàn)orm為post方式,querystring為get方式 提取的范圍不一樣Form只能提取表單內(nèi)部元素的值Querystring還可以提取url地址欄里參數(shù)的值 一般,當(dāng)我們提取大量數(shù)據(jù)的時(shí)候用fo

8、rm方式,這種方式會(huì)將我們所有的數(shù)量打成一個(gè)包發(fā)給服務(wù)器,querystring方式,會(huì)將我們所有的元素值以地址欄里參數(shù)的方式用http頭來(lái)傳給服務(wù)器不安全 綜上所述,我們一般用form集合去提取表單中的數(shù)量Querystring用在一些特殊的情況下見例子分頁(yè)效果,Servervariables集合,ServerVariables集合就是服務(wù)器的環(huán)境變量,該變量包含的內(nèi)容比較多,我們同樣先采用for循環(huán)進(jìn)行遍歷查看下。server1.asp ,常用的幾個(gè)變量值,http_accept_language(瀏覽語(yǔ)言): http_accept_language CONTENT_LENGTH(客戶端

9、發(fā)出內(nèi)容的長(zhǎng)度):CONTENT_LENGTH CONTENT_TYPE(內(nèi)容的數(shù)據(jù)類型。如“text/html”。同附加信息 的查詢一起使用,如 HTTP 查詢 GET、POST 和 PUT):CONTENT_TYPE LOCAL_ADDR(返回接受請(qǐng)求的服務(wù)器地址。如果在綁定多個(gè)IP地址的多宿主機(jī)器上查找請(qǐng)求所使用的地址時(shí),這條變量非常重要):LOCAL_ADDR REMOTE_ADDR(發(fā)出請(qǐng)求的遠(yuǎn)程主機(jī)client的 IP 地址):REMOTE_ADDR SERVER_NAME(出現(xiàn)在自引用 URL 中的服務(wù)器主機(jī)名、DNS 化名 或 IP 地址):SERVER_NAME SCRIPT

10、_NAME(主機(jī)名后面的虛擬地址):SCRIPT_NAME LOGON_USER(用戶登錄 Windows NT 的帳號(hào)):LOGON_USER SERVER_PORT(發(fā)送請(qǐng)求的端口號(hào)):SERVER_PORT 根據(jù)以上的SERVER_NAME是提取的服務(wù)器主機(jī)名,SCRIPT_NAME是提取的虛擬地址,則兩者的結(jié)合再加上http:/ 是不是就是個(gè)完整的網(wǎng)址呢。,Cooies集合,我們放在后面去講解,Request對(duì)象的屬性,TotalBytes 當(dāng)一個(gè)頁(yè)面被請(qǐng)求時(shí)發(fā)送的字節(jié)數(shù)(參數(shù)部分的字節(jié)數(shù)、還有值的字節(jié)數(shù)) ,Request對(duì)象的方法,BinaryRead 以二進(jìn)制的方式提取表單的數(shù)據(jù)

11、,主要是提取圖片文件等類型的數(shù)據(jù)很少用到 到現(xiàn)在為止我們就把request對(duì)象的幾大集合屬性和方法講完了重點(diǎn)掌握f(shuō)orm,quesrystring,severvariables集合,其它作為參考 作業(yè):做一個(gè)注冊(cè)會(huì)員的表單信息,Response對(duì)象,通過(guò)對(duì)Request對(duì)象的學(xué)習(xí),可以了解到,Request對(duì)象是服務(wù)器端用來(lái)獲取客戶端的信息的。但作為服務(wù)器和客戶端進(jìn)行交互,是不是還缺少服務(wù)器端向客戶端發(fā)送信息呢?對(duì)象Response正是擔(dān)任此責(zé)任負(fù)責(zé)將信息傳遞給用戶的對(duì)象就是Response了,它可動(dòng)態(tài)地響應(yīng)客戶端的請(qǐng)求,并將動(dòng)態(tài)生成的響應(yīng)結(jié)果返回給客戶端瀏覽器。,Response對(duì)象的方法,

12、AppendToLog:這個(gè)方法為你提供了一個(gè)向NT日志寫入信息的途徑 Clear:清空緩沖區(qū) End:在ASP中顯示終止某個(gè)代碼處理 Flush:將緩沖區(qū)中的內(nèi)容發(fā)送給瀏覽器 Redirect:將瀏覽器發(fā)送到響應(yīng)的的不同頁(yè)面 Write:向?yàn)g覽器中發(fā)送文本信息,Response.write方法,將指定的字符串寫到當(dāng)前的 HTTP 輸出。 response.write后面為所顯示的信息,可以用括號(hào)包含,也可以直接書寫(注意和response.write之間有空格)。 書寫的字符串信息或者HTML代碼相關(guān),用引號(hào)包含; 而ASP本身的函數(shù)或變量則不需要,直接用即可。 并且無(wú)論字符串信息、HTML

13、代碼、函數(shù)還是變量之間進(jìn)行連接都是采用&號(hào)(針對(duì)vbscript)。 具體實(shí)例如下:,S1. 只為字符加引號(hào) hello!% 帶html加引號(hào) 如果輸出的為函數(shù)只直輸出 ”% 如果即有變量又有字符中間必須用&號(hào)隔開,很好記,也很容易出錯(cuò),Response.end,這是Response常用的一種方法,使 Web 服務(wù)器停止處理腳本并返回當(dāng)前結(jié)果,文件中剩余的內(nèi)容將不被處理。主要放在一頁(yè)多功能的ASP頁(yè)中,為讓程序運(yùn)行到此,抑或往下的程序沒必要再執(zhí)行顯示 s2. end.asp ,Response.clear,該方法主要作用是清除緩沖區(qū)中的所有 HTML 輸出,但該方法只清除響應(yīng)正文而不清除響應(yīng)標(biāo)

14、題。該方法和end方法似相反,end是到此結(jié)束返回上面的結(jié)果,而clear卻是清除上面的執(zhí)行,然后只返回下面的結(jié)果。 s3. clear.asp ,Response.redirect,Redirect 方法是讓瀏覽器立即重定向到程序指定的URL地址。這在根據(jù)客戶的不同響應(yīng),為不同的客戶指定不同的頁(yè)面,或根據(jù)不同的情況指定不同的頁(yè)面時(shí),顯得非常重要。該方法是立即生效的,在其后的腳本都不執(zhí)行。 s5. redirect.asp 當(dāng)執(zhí)行到這一句時(shí)會(huì)結(jié)束后面所有的操作,去執(zhí)行后面的網(wǎng)頁(yè) 作業(yè):登陸信息,當(dāng)用戶名和密碼都正確的時(shí)候轉(zhuǎn)向right.html網(wǎng)頁(yè),錯(cuò)誤轉(zhuǎn)向wrong.html 除引之外res

15、ponse對(duì)象還有好多方法,我們就介紹一些其它不常用,Response對(duì)象的屬性,Buffer:布爾屬性,決定ASP的輸出是即時(shí)的還是成批的 CacheControl:用于指示代理的高速緩存形式 Charset:用于附加在內(nèi)容類型頭標(biāo)前來(lái)設(shè)置字符類型 ContentType:指定內(nèi)容類型頭標(biāo),聲明返回值類型 Expires:高速緩存內(nèi)頁(yè)面的有效時(shí)間 ExpiresAbsolute:指定高速緩存內(nèi)頁(yè)面的有效時(shí)間 IsClientConnected:返回客戶是否還與站點(diǎn)相連 Status:返回到瀏覽器的狀態(tài)行頭標(biāo),Response.buffer,比較重要的一個(gè),值為true or false。該屬

16、性指示是否緩沖頁(yè)輸出。引用:當(dāng)緩沖頁(yè)輸出時(shí),只有當(dāng)前頁(yè)的所有服務(wù)器腳本處理完畢或者調(diào)用了 Flush 或 End 方法后,服務(wù)器才將響應(yīng)發(fā)送給客戶端瀏覽器,服務(wù)器將輸出發(fā)送給客戶端瀏覽器后就不能再設(shè)置 Buffer 屬性。因此應(yīng)該在 .asp 文件的第一行調(diào)用 Response.Buffer。 Response.buffer=true/false默認(rèn)為true,Response.expires,該屬性指定了在瀏覽器上緩沖存儲(chǔ)的頁(yè),距過(guò)期還有多少時(shí)間。如果用戶在某個(gè)頁(yè)過(guò)期之前又回到此頁(yè),就會(huì)顯示緩沖區(qū)中的頁(yè)面。但若設(shè)置 response.expires=0,則可使緩存的頁(yè)面立即過(guò)期。這是一個(gè)較實(shí)

17、用的屬性,當(dāng)客戶通過(guò) ASP 的登陸頁(yè)面進(jìn)入 WEB 站點(diǎn)后,應(yīng)該利用該屬性使登陸頁(yè)面立即過(guò)期,以確保安全。引用一個(gè)經(jīng)典的例子。 expires.asp ,Cookis集合,Cookie 其實(shí)是一個(gè)標(biāo)簽,經(jīng)??赡苈牭降闹形姆g:小舔餅。當(dāng)你訪問(wèn)一個(gè)需要唯一標(biāo)識(shí)你的站址的 WEB 站點(diǎn)時(shí),它會(huì)在你的硬盤上留下一個(gè)標(biāo)記,下一次你訪問(wèn)同一個(gè)站點(diǎn)時(shí),站點(diǎn)的頁(yè)面會(huì)查找這個(gè)標(biāo)記。 每個(gè) WEB 站點(diǎn)都有自己的標(biāo)記,標(biāo)記的內(nèi)容可以隨時(shí)讀取,但只能由該站點(diǎn)的頁(yè)面完成。每個(gè)站點(diǎn)的Cookie與其他所有站點(diǎn)的Cookie存在同一文件夾中的不同文件內(nèi)(你可以在 win98 的 Windows 目錄下的 Cookie

18、 文件夾中找到它們,而 win2k 則在 Documents and Settings 文件夾下特定用戶的 cookies 文件夾中)。 一個(gè) Cookie 就是一個(gè)唯一標(biāo)識(shí)客戶的標(biāo)記,Cookie 可以包含在一個(gè)對(duì)話期或幾個(gè)對(duì)話期之間某個(gè) WEB 站點(diǎn)的所有頁(yè)面共享的信息,使用 Cookie 還可以在頁(yè)面之間交換信息。這項(xiàng)功能經(jīng)常被使用在要求認(rèn)證客戶密碼以及電子公告板、WEB 聊天室等 ASP 程序中。 盡管現(xiàn)在聽起來(lái)cookie沒有什么激動(dòng)人心的,但實(shí)際上利用它,你能實(shí)現(xiàn)許多有意義的功能!比如說(shuō):你可以在站點(diǎn)上放置一個(gè)調(diào)查問(wèn)答表,詢問(wèn)訪問(wèn)者最喜歡的顏色和字體,然后根據(jù)這些定制用戶的web界

19、面。并且,你還可以保存訪問(wèn)者的登錄密碼,這樣,當(dāng)訪問(wèn)者再次訪問(wèn)這個(gè)站點(diǎn)時(shí),不用再輸入密碼進(jìn)行登錄。 當(dāng)然,cookie也有一些不足。首先,由于利用cookie的功能可以編程實(shí)現(xiàn)一些不良企圖,所以大多數(shù)的瀏覽器中都有安全設(shè)定,其中可以設(shè)置是否允許或者接受cookie(IE瀏覽器中“工具”-“Internet選項(xiàng).”-“安全”-“自定義級(jí)別”-“Cookie的使用”;Netscape瀏覽器中“工具”-“Cookie管理器”-“管理貯存的Cookie”即可),因此這就不能保證隨時(shí)能使用cookie。再者,訪問(wèn)者可能有意或者無(wú)意地刪除cookie。當(dāng)訪問(wèn)者的機(jī)器遇到“藍(lán)屏”死機(jī)時(shí),或者重新格式化硬盤、

20、安裝系統(tǒng)后,原來(lái)保存的cookie將全部丟失。最后一點(diǎn),有一些最初始的瀏覽器并不能支持cookie。, 怎樣利用cooklie? 有2種使用cookie的基本方式:1、將cookie寫入訪問(wèn)者的計(jì)算機(jī)(使用 Response 命令)2、從訪問(wèn)者的計(jì)算機(jī)中取回cookie(使用 Request 命令) 創(chuàng)建cookie的基本語(yǔ)法: response.cookies(“cookie”) 這里的 cookie 是指定 cookies 變量的名稱。 Domain 若被指定,則 cookie 將被發(fā)送到對(duì)該域的請(qǐng)求中去。域?qū)傩员砻鱟ookie由哪個(gè)網(wǎng)站產(chǎn)生或者讀取,默認(rèn)情況下,cookie的域?qū)傩栽O(shè)置為

21、產(chǎn)生它的網(wǎng)站,但你也可以根據(jù)需要改變它。 (Response.Cookies(CookieName).Domain = ) Path 為一路徑屬性,該屬性可以實(shí)現(xiàn)更多的安全要求,通過(guò)設(shè)置網(wǎng)站上精確的路徑,就能限制cookie的使用范圍。如果未設(shè)置該屬性,則使用應(yīng)用程序的路徑。 (Response.Cookies(CookieName).Path = /maindir/subdir/path ) Expires 指定 cookie 的過(guò)期日期。為了在會(huì)話結(jié)束后將 cookie 存儲(chǔ)在客戶端磁盤上,或在許多時(shí)候,我們希望能更長(zhǎng)時(shí)間地在訪問(wèn)者的計(jì)算機(jī)上保存cookie。必須設(shè)置該日期。若此項(xiàng)屬性的設(shè)

22、置未超過(guò)當(dāng)前日期,則在任務(wù)結(jié)束后 cookie 將到期。 后面的代碼,就可以設(shè)置cookie的使用到期時(shí)間為“2010年1月1日”: Response.Cookies(CookieName).Expires=#January 01, 2010# 后面的代碼,將設(shè)定cookie的過(guò)期時(shí)間為“cookie的創(chuàng)建時(shí)間365天”: Response.Cookies(CookieName).Expires=Date+365 但最好不要隨便寫 Response.Cookies(“CookieName”).Expires=Date,這樣頁(yè)面之間的調(diào)用時(shí)值會(huì)為空。 讀取cookie的基本語(yǔ)法:Request.

23、Cookies(cookie),Session對(duì)象,該對(duì)象在ASP使用中占相當(dāng)大的比例。由于網(wǎng)頁(yè)是一種無(wú)狀態(tài)程序,無(wú)法得知用戶瀏覽狀態(tài)。在ASP中,通過(guò)Session對(duì)象來(lái)記錄使用者私有的數(shù)據(jù)變量,以作為用戶再次對(duì)服務(wù)器提出要求時(shí)做確認(rèn),用戶在程序的Web頁(yè)面之間跳轉(zhuǎn)時(shí),存在Session對(duì)象中的變量將不會(huì)消失。 這些真的是很重要的功能,尤其是有會(huì)員的系統(tǒng)必須要用到的。像是會(huì)員的登入賬號(hào)、時(shí)間、狀態(tài)以及許許多多該記錄的實(shí)時(shí)數(shù)據(jù)(如購(gòu)物系統(tǒng)記錄使用者的購(gòu)物籃內(nèi)的商品),這些信息屬于各使用者私人所需要,通常開發(fā)者都是使用 Session 記錄處理。 在ASP中的Session是使用Cookies構(gòu)

24、成,服務(wù)器將所有的Session內(nèi)記錄的數(shù)據(jù),以Cookies的方式傳至用戶的瀏覽器。通常一般瀏覽器會(huì)將這些Cookies存起來(lái),每當(dāng)使用者點(diǎn)選連結(jié),再次與服務(wù)器做聯(lián)機(jī)時(shí),瀏覽器就會(huì)把這些Cookies傳回Server供做處理:這即是Session的運(yùn)作原理。由此可知會(huì)話狀態(tài)Session僅在支持cookie的瀏覽器中保留,如果客戶關(guān)閉了Cookie 選項(xiàng)Session也就不能發(fā)揮作用了。,SessionID 屬性返回用戶的會(huì)話標(biāo)識(shí)。在創(chuàng)建會(huì)話時(shí),服務(wù)器會(huì)為每一個(gè)會(huì)話生成一個(gè)單獨(dú)的標(biāo)識(shí),會(huì)話標(biāo)識(shí)以長(zhǎng)整形數(shù)據(jù)類型返回。在很多情況下 SessionID 可以用于 WEB 頁(yè)面注冊(cè)統(tǒng)計(jì)。 利用該屬性

25、可以解決一種對(duì)用戶的控制問(wèn)題。該問(wèn)題的主要功能就是,針對(duì)某個(gè)網(wǎng)站的一個(gè)模塊,當(dāng)一個(gè)會(huì)員登錄后正在看此模塊時(shí),另一個(gè)人用同樣的會(huì)員名登錄,就不能瀏覽這個(gè)模塊:也就是說(shuō)一個(gè)會(huì)員名同時(shí)只能一個(gè)人瀏覽此模塊。 通過(guò)用會(huì)員名(假設(shè)為UserID,唯一)和SessionID來(lái)實(shí)現(xiàn)了控制。當(dāng)會(huì)員登錄時(shí),給這個(gè)會(huì)員一個(gè)Session記錄登錄狀態(tài)如:Session(Status)=Logged,同時(shí)把這個(gè)會(huì)員的Session.SessionID寫入數(shù)據(jù)庫(kù)。當(dāng)他要瀏覽此模塊時(shí),先判斷其是否登錄,若已經(jīng)登錄再判斷它的SessionID是否與數(shù)據(jù)庫(kù)記錄的相同,如果不同則不能訪問(wèn)。 這樣,當(dāng)另一個(gè)用戶用相同的會(huì)員名登錄

26、時(shí),那么數(shù)據(jù)庫(kù)中記錄的就是新的SessionID,前者訪問(wèn)此模塊時(shí)就不能通過(guò)檢查。這就實(shí)現(xiàn)了一個(gè)會(huì)員名同時(shí)只能一個(gè)人瀏覽某個(gè)模塊。這個(gè)功能在一些收費(fèi)網(wǎng)站有很有特別作用,它防止了一個(gè)會(huì)員名給多個(gè)人瀏覽的問(wèn)題,為公司保障了利益。 是單獨(dú)生成的唯一ID標(biāo)識(shí),可刷新調(diào)試。,Session.SessionID,Session.TimeOut,該屬性設(shè)置的Session的最大間隔時(shí)間。間隔時(shí)間是指客戶器端從最近一次向Web服務(wù)器提出要求,到下一次向Web服務(wù)器提出要求的時(shí)間??梢岳斫鉃椋喝绻脩粼谠摮瑫r(shí)時(shí)限之內(nèi)不刷新或請(qǐng)求網(wǎng)頁(yè),則該會(huì)話將終止。Timeout 屬性是以分鐘為單位,為該應(yīng)用程序的Sessio

27、n對(duì)象指定超時(shí)時(shí)限的,一般默認(rèn)為20分鐘。這在網(wǎng)吧等公共場(chǎng)所,登錄個(gè)人信息頁(yè)而忘記關(guān)閉窗口時(shí),顯得比較重要(至少可以把時(shí)間設(shè)短些)。 ,Session.Abandon,該方法是Session對(duì)象的唯一方法,可以清除Session對(duì)象,用來(lái)消除用戶的Session對(duì)象并釋放其所占的資源。當(dāng)然你如果沒有明確調(diào)用Abandon方法,一旦會(huì)話超時(shí),服務(wù)器也會(huì)將刪除這些對(duì)象并釋放資源。,Session_OnStar,Session_OnStart屬于Session對(duì)象的一類事件。它是在服務(wù)器創(chuàng)建新會(huì)話時(shí)發(fā)生的。服務(wù)器在執(zhí)行請(qǐng)求的頁(yè)之前先處理該腳本。Session_OnStart 事件是設(shè)置會(huì)話期變量的最

28、佳時(shí)機(jī),因?yàn)樵谠L問(wèn)任何頁(yè)之前都會(huì)先設(shè)置它們。 對(duì)象的例程每一次啟動(dòng)時(shí)觸發(fā)Session_OnStart事件,然后運(yùn)行Session_Onstart事件的處理過(guò)程。也就是說(shuō),當(dāng)服務(wù)器接收到應(yīng)用程序中的URL的HTTP請(qǐng)求時(shí),觸發(fā)此事件,并建立一個(gè)Session對(duì)象。 當(dāng)然說(shuō)到Session_OnStart事件就不能不談到一個(gè)文件Global.asa(P.S:我打算把該文件和Chat程序放在一起說(shuō)的,所以現(xiàn)在先不作過(guò)多解釋)具體用法先透露,寫在Global.asa文件內(nèi)部 .Sub Session_OnStart.End Sub.,Session_OnEnd,一看也就知道是Session對(duì)象的另一

29、類事件了。當(dāng)調(diào)用Session.Abandon方法時(shí)或者在TimeOut的時(shí)間內(nèi)沒有刷新,這會(huì)觸發(fā)Session_OnEnd事件,然后執(zhí)行里面的腳本。同樣具體用法在后面將寫的Global.asa文件專題中詳細(xì)介紹到,簡(jiǎn)單語(yǔ)法如下: .Sub Session_OnEnd.End Sub.,Application對(duì)象,在Web應(yīng)用程序中,當(dāng)一個(gè)用戶訪問(wèn)該應(yīng)用時(shí),Session類型的變量可以供這個(gè)用戶在該Web應(yīng)用的所有頁(yè)面中共享數(shù)據(jù);如果另一個(gè)用戶也同時(shí)訪問(wèn)該Web應(yīng)用,他也擁有自己的Session變量,但兩個(gè)用戶之間無(wú)法通過(guò)Session變量共享信息,而Application類型的變量則可以實(shí)現(xiàn)

30、站點(diǎn)多個(gè)用戶之間在所有頁(yè)面中共享信息??梢岳斫釹ession是局部變量,而Application則為全局變量。 在同一虛擬目錄及其子目錄下的所有 .asp 文件構(gòu)成了 ASP 應(yīng)用程序。我們非但可以使用 Application 對(duì)象,在給定的應(yīng)用程序的所有用戶之間共享信息,并在服務(wù)器運(yùn)行期間持久的保存數(shù)據(jù)。而且,Application 對(duì)象還有控制訪問(wèn)應(yīng)用層數(shù)據(jù)的方法和可用于在應(yīng)用程序啟動(dòng)和停止時(shí)觸發(fā)過(guò)程的事件。,Application.Lock/unlock,Lock方法是禁止其他用戶修改Application對(duì)象的屬性,以確保在同一時(shí)刻僅有一個(gè)客戶可修改和存取 Application 變量

31、。如果用戶沒有明確調(diào)用 Unlock 方法,則服務(wù)器將會(huì)在 .asp 文件結(jié)束或超時(shí)后即解除對(duì) Application 對(duì)象的鎖定 與Lock方法相反,Unlock方法是允許其他用戶修改 Application 對(duì)象的屬性。當(dāng)然需要注意的是:記數(shù)要確保服務(wù)器不被重啟,因?yàn)樗缘脑L問(wèn)是數(shù)值是建立在頁(yè)面之上的,并未進(jìn)行保存成文件或保存到數(shù)據(jù)庫(kù)這樣的處理。一般當(dāng)服務(wù)器重新啟動(dòng)就會(huì)觸發(fā)Application的事件了,S1.num.asp 你是本頁(yè)的第位訪問(wèn)者。 注:每刷新一次都會(huì)自動(dòng)加 s2. vnum.asp 你是本頁(yè)的第位訪問(wèn)者。,Global.asa文件,首先.asa是文件后綴名,它是Activ

32、e Server Application的首字母縮寫。Global.asa文件可以管理在ASP應(yīng)用中兩個(gè)非??量痰膶?duì)象:Application、Session。 它其實(shí)是一個(gè)可選文件,程序編寫者可以在該文件中指定事件腳本,并聲明具有會(huì)話和應(yīng)用程序作用域的對(duì)象。該文件的內(nèi)容不是用來(lái)給用戶顯示的,而是用來(lái)存儲(chǔ)事件信息和由應(yīng)用程序全局使用的對(duì)象。該文件必須存放在應(yīng)用程序的根目錄內(nèi)。每個(gè)應(yīng)用程序只能有一個(gè)Global.asa文件。 關(guān)于Global.asa文件最常見的錯(cuò)誤概念是它能為一般的使用的函數(shù)和子程序用作書庫(kù)。Global.asa文件僅能用于創(chuàng)建對(duì)象的引用和俘獲啟動(dòng),以及結(jié)束Application對(duì)象和Session對(duì)象。 Global.asa文件主要基于會(huì)話級(jí)事件被訪問(wèn),在以下三種情況下被調(diào)用:1,當(dāng)Application_OnStart或Application_OnEnd事件被觸發(fā)。2,當(dāng)Session_OnStart或Session_OnEnd事件被觸發(fā)。3,當(dāng)引用一個(gè)在Global.asa文件里被實(shí)例化的對(duì)象(Object

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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)論