亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > ASP > 正文

ASP編程入門進階(八):內置對象Session

2020-07-27 13:19:37
字體:
來源:轉載
供稿:網友
ASP對象中除了用于發送(Response)、接收和處理數據(requeest)、服務器訪問(Server)的對象外,還有一些非常實用的標記Active Server應用程序(Application)和單個用戶信息(Session)的對象。

Session對象
該對象在ASP使用中占相當大的比例。由于網頁是一種無狀態程序,無法得知用戶瀏覽狀態。在ASP中,通過Session對象來記錄使用者私有的數據變量,以作為用戶再次對服務器提出要求時做確認,用戶在程序的Web頁面之間跳轉時,存在Session對象中的變量將不會消失。

這些真的是很重要的功能,尤其是有會員的系統必須要用到的。像是會員的登入賬號、時間、狀態以及許許多多該記錄的實時數據(如購物系統記錄使用者的購物籃內的商品),這些信息屬于各使用者私人所需要,通常開發者都是使用 Session 記錄處理。

在ASP中的Session是使用Cookies構成,服務器將所有的Session內記錄的數據,以Cookies的方式傳至用戶的瀏覽器。通常一般瀏覽器會將這些Cookies存起來,每當使用者點選連結,再次與服務器做聯機時,瀏覽器就會把這些Cookies傳回Server供做處理:這即是Session的運作原理。由此可知會話狀態Session僅在支持cookie的瀏覽器中保留,如果客戶關閉了Cookie 選項Session也就不能發揮作用了。

一、Session.SessionID
SessionID 屬性返回用戶的會話標識。在創建會話時,服務器會為每一個會話生成一個單獨的標識,會話標識以長整形數據類型返回。在很多情況下 SessionID 可以用于 WEB 頁面注冊統計。

利用該屬性可以解決一種對用戶的控制問題。該問題的主要功能就是,針對某個網站的一個模塊,當一個會員登錄后正在看此模塊時,另一個人用同樣的會員名登錄,就不能瀏覽這個模塊:也就是說一個會員名同時只能一個人瀏覽此模塊。

通過用會員名(假設為UserID,唯一)和SessionID來實現了控制。當會員登錄時,給這個會員一個Session記錄登錄狀態如:Session("Status")="Logged",同時把這個會員的Session.SessionID寫入數據庫。當他要瀏覽此模塊時,先判斷其是否登錄,若已經登錄再判斷它的SessionID是否與數據庫記錄的相同,如果不同則不能訪問。

這樣,當另一個用戶用相同的會員名登錄時,那么數據庫中記錄的就是新的SessionID,前者訪問此模塊時就不能通過檢查。這就實現了一個會員名同時只能一個人瀏覽某個模塊。這個功能在一些收費網站有很有特別作用,它防止了一個會員名給多個人瀏覽的問題,為公司保障了利益。


<%=Session.SessionId%>
是單獨生成的唯一ID標識,可刷新調試。


二、Session.TimeOut
該屬性設置的Session的最大間隔時間。間隔時間是指客戶器端從最近一次向Web服務器提出要求,到下一次向Web服務器提出要求的時間??梢岳斫鉃椋喝绻脩粼谠摮瑫r時限之內不刷新或請求網頁,則該會話將終止。Timeout 屬性是以分鐘為單位,為該應用程序的Session對象指定超時時限的,一般默認為20分鐘。這在網吧等公共場所,登錄個人信息頁而忘記關閉窗口時,顯得比較重要(至少可以把時間設短些)。


<%Session.TimeOut=10%>


以上SessionId、TimeOut屬于Session對象的兩個屬性,下面看該對象的一個方法Abandon

三、Session.Abandon
該方法是Session對象的唯一方法,可以清除Session對象,用來消除用戶的Session對象并釋放其所占的資源。當然你如果沒有明確調用Abandon方法,一旦會話超時,服務器也會將刪除這些對象并釋放資源。
下面就用兩個頁的程序來認識Session對象以及Abandon方法的利用。

1,login.asp


<%
'是提取url中變量loginout的值是否為true,若為真,就執行Session.Abandon()。
if Request.QueryString("loginout")="true" then
Session.Abandon()
end if

'只有在當點擊了submit按鈕的前提下,再來判斷提取的東西都不為空,則建立Session對象。
submitname=request.form("submit1")
if submitname="submit" then
if Request.Form("name")<>"" and Request.Form("pwd")<>"" then
Session("name")=Request.Form("name")
Session("pw")=Request.Form("pwd")
end if
end if
%>
<%
'如果Session("name")不為空,則顯示Session("name")的值,并且做一個到info.asp的鏈接。
if Session("name")<>"" then
response.write("你的name值是:"&Session("name"))
response.write("<br><a href='info.asp'>顯示你的資料</a>")
else

'否則,即Session("name")為空不存在,則顯示表單用以輸入建立Session的平臺。
%>
<form action="login.asp" method="post">
姓名:<input type="text" name="name"><br>
密碼:<input type="password" name="pwd"><br>
<input type="submit" value="submit" name="submit1">
</form>
<!--同樣做了一個到info.asp的鏈接。-->
<a href="info.asp">顯示你的資料</a>
<%end if%>



注意Session("name")為空和不為空的時候,都做了一個到info.asp的鏈接,具體調試結果如何,再來看info.asp的內容。

2,info.asp


<%
'如果session對象值為空則跳轉到login.asp
if session("name")="" then
    Response.Redirect("login.asp")
'否則就顯示個人信息
else
    Response.Write("你的姓名:"&session("name")&"<br>")
    Response.Write("你的密碼:"&session("pw")&"<br>")
end if
%>
<a href="login.asp">返回</a>
<a href="login.asp?loginout=true">退出</a>



可以看出來,info.asp頁面內容的顯示其實是需要條件的。那就是必須得有一個session值的存在,這樣才可以顯示具體的信息。這在登錄系統中運用得比較多。

你可以把login.asp想象成一個登錄窗口,當然我的這個比較簡單(只要輸入用名和密碼就生產Session了),實際情況是:判斷輸入的用名和密碼是否和數據庫中的用名和密碼吻合,如果正確吻合才生成Session的。然info.asp頁面的作用剛好可以做為一權限頁面,因為進入該頁需要Session,而Session的產生是確保用名密碼正確的。

所以當一開始出現表單窗口時,你點login.asp鏈接是打不開的,只有當提交了表單生成了Session后才能進入。這正是登錄系統的精髓所在,Do You Know?:)

四、Session_OnStart
Session_OnStart屬于Session對象的一類事件。它是在服務器創建新會話時發生的。服務器在執行請求的頁之前先處理該腳本。Session_OnStart 事件是設置會話期變量的最佳時機,因為在訪問任何頁之前都會先設置它們。

對象的例程每一次啟動時觸發Session_OnStart事件,然后運行Session_Onstart事件的處理過程。也就是說,當服務器接收到應用程序中的URL的HTTP請求時,觸發此事件,并建立一個Session對象。

當然說到Session_OnStart事件就不能不談到一個文件Global.asa(P.S:我打算把該文件和Chat程序放在一起說的,所以現在先不作過多解釋)
具體用法先透露,寫在Global.asa文件內部


<SCRIPT RUNAT=Server Language=VBScript>
.......
Sub Session_OnStart
.......
End Sub
.......
</SCRIPT>



五、Session_OnEnd
一看也就知道是Session對象的另一類事件了。當調用Session.Abandon方法時或者在TimeOut的時間內沒有刷新,這會觸發Session_OnEnd事件,然后執行里面的腳本。同樣具體用法在后面將寫的Global.asa文件專題中詳細介紹到,簡單語法如下:


<SCRIPT RUNAT=Server Language=VBScript>
.......
Sub Session_OnEnd
.......
End Sub
.......
</SCRIPT>



最后,不知道大家有沒有玩過這樣的一個程序:很令人討厭的,讓你永遠關不掉的程序頁面。
只做程序調試,不要去作弄別人。

以下文件保存為bug.html


[Ctrl+A 全部選擇進行拷貝 提示:可先修改部分代碼,再點擊運行]

發現該文件關不了了?(當然你要關閉,把源代碼修改下)
那現在的要求是:計算關閉的次數,如果超過多少次就可以自行關閉,那下面就采用到session

以下文件保存為bug.asp


<%if session("num") < 2 then%>
<body onunload=javascript:window.open("bug.asp")>
<%session("num")=session("num")+1%>
<%else%>
<script>
self.close()
</script>
<%end if%>



呵呵,當你關閉三次以后,窗口就再也不彈出了。了解吧:)
以上就是對Session對象的系統學習。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
81精品国产乱码久久久久久| 91久久精品国产| 韩曰欧美视频免费观看| 久久伊人精品一区二区三区| 51精品国产黑色丝袜高跟鞋| 亚洲aaa激情| 成人福利网站在线观看11| 亚洲美女在线视频| 久久夜色撩人精品| 国产aⅴ夜夜欢一区二区三区| 日韩福利视频在线观看| 情事1991在线| 3344国产精品免费看| 在线观看欧美成人| 91国产精品91| 韩剧1988免费观看全集| 中文字幕一区日韩电影| 亚洲大胆人体视频| 奇米一区二区三区四区久久| 久久久精品中文字幕| 欧美一级高清免费播放| 久久久久久国产精品| 国产日韩av在线| 富二代精品短视频| 精品电影在线观看| 亚洲v日韩v综合v精品v| 在线播放日韩欧美| 精品中文字幕在线观看| 亚洲永久在线观看| 91精品国产91久久久久福利| 91久久国产精品91久久性色| 日韩电影在线观看中文字幕| 日本精品久久久久久久| 伊人男人综合视频网| 在线精品国产欧美| 91成品人片a无限观看| 91视频国产一区| 久久精品视频在线观看| 成人欧美一区二区三区黑人孕妇| 国内久久久精品| 日本成人精品在线| 亚洲一区二区自拍| 成人免费淫片视频软件| 久久久综合av| 日日摸夜夜添一区| 91九色在线视频| 国产成人精品优优av| 成人免费观看a| 中文字幕精品一区久久久久| 欧美肥臀大乳一区二区免费视频| 播播国产欧美激情| 国产欧美日韩免费| 日韩av电影中文字幕| 一区二区三区日韩在线| 欧美性猛交xxx| 欧美日韩国产123| 91精品国产91久久| 日韩中文字幕亚洲| 在线一区二区日韩| 成人性生交大片免费看视频直播| 精品欧美国产一区二区三区| 日韩免费视频在线观看| 狠狠躁天天躁日日躁欧美| 欧美丝袜第一区| 九九热这里只有精品6| 日韩中文字幕精品| 国产欧美精品在线播放| 国产精品无av码在线观看| 日韩经典中文字幕| 最近2019中文字幕第三页视频| 亚洲国产天堂网精品网站| 韩国三级日本三级少妇99| 97超级碰在线看视频免费在线看| 亚洲大胆美女视频| 91情侣偷在线精品国产| 成人午夜一级二级三级| 欧美日产国产成人免费图片| 91精品国产综合久久男男| 91免费视频国产| 中文字幕国产日韩| 亚洲一区二区三区久久| www.日韩.com| 久久精品国产96久久久香蕉| 成人免费午夜电影| 国模精品视频一区二区三区| 欧美激情在线狂野欧美精品| 在线视频一区二区| 国产丝袜一区二区三区免费视频| 国产精品九九久久久久久久| 九九热在线精品视频| 国产精品久久久久久久7电影| 久久激情五月丁香伊人| 亚洲欧美日韩国产中文| 国产精品入口夜色视频大尺度| 精品日韩美女的视频高清| 久久精品视频在线播放| 91av在线播放视频| 国产一区玩具在线观看| 欧洲成人在线视频| 国语自产偷拍精品视频偷| 欧洲成人在线观看| 国内精品久久久久| 国产精品视频26uuu| 精品亚洲一区二区三区四区五区| 色偷偷9999www| 久久福利视频导航| 欧美激情性做爰免费视频| 九九热r在线视频精品| 亚洲资源在线看| 国产精品啪视频| 欧美激情按摩在线| 91欧美日韩一区| 成人av在线亚洲| 91欧美视频网站| 欧美性xxxx极品高清hd直播| 久久精品视频亚洲| 国产美女高潮久久白浆| 在线观看国产成人av片| 国产精品久久久久aaaa九色| 高跟丝袜欧美一区| 国语自产偷拍精品视频偷| 国产精品久久久久久超碰| 精品激情国产视频| 91免费高清视频| 亚洲人成电影网站色…| 激情av一区二区| 亚洲性视频网站| 国产欧美韩国高清| 久久久国产一区二区| 精品国产91久久久久久| 欧美老女人在线视频| 成人欧美一区二区三区在线湿哒哒| 亚洲色图激情小说| 欧美成人午夜激情在线| 一区二区三区黄色| 在线免费观看羞羞视频一区二区| 97国产一区二区精品久久呦| 91精品久久久久久久久| 欧美激情影音先锋| 夜夜狂射影院欧美极品| 国产精品男人爽免费视频1| 8x海外华人永久免费日韩内陆视频| 亚洲91精品在线| 亚洲毛片一区二区| 欧美在线视频一二三| 国产精品自拍小视频| 国产成人一区二| 国产欧美va欧美va香蕉在线| 国产精品成人va在线观看| 精品中文字幕久久久久久| 国产精品一区二区女厕厕| 亚洲高清在线观看| 亚洲国产成人av在线| 久久福利网址导航| 国产网站欧美日韩免费精品在线观看| 精品国产一区av| 77777少妇光屁股久久一区| 国产精品视频久久久久| 国产精品一区二区三区在线播放| 国产精品一久久香蕉国产线看观看| 欧美激情第三页| 欧美激情一区二区久久久| 国产亚洲一区二区在线| 亚洲精品久久久久|