日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

jsp内置对象(四)-----session对象

發布時間:2024/7/19 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jsp内置对象(四)-----session对象 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、什么是session

session表示客戶端與服務器的一次會話 Web中的session指的是用戶在瀏覽某個網站時,從進入網站到瀏覽器關閉所經過的這段時間,也就是用戶瀏覽這個網站所花費的時間 從上述定義中可以看到,session實際上是一個特定的時間概念

(1)session是JSP的一個內置對象,是HttpSession類的實例。

(2)從客戶打開瀏覽器并連接到服務器開始,到客戶關閉瀏覽器窗口斷開與服務器的連接,這一過程成為一個會話。

(3)當客戶在同一個網站的不同頁面之間進行切換并訪問時,服務器是通過session來判斷這些請求是否來自同一個客戶。

(4)session一般有時間限制,長時間不操作可能會導致session失效。session失效后原session中保存的屬性值會全部丟失。

(5)setMaxInactiveInterval(int i)? 該方法可直接設定session的生存時間,超過該時間session會重新創建。(單位:秒)

-------------------------------

2、session對象的常用方法有:

long getCreationTime() : 返回session的創建時間;

public String getId() : 返回session的唯一ID號(該ID在session生成時,由JSP引擎創建)

public Object setAttribute(String name,Object value) : 按照鍵值對的方式在該session會話中保存一個屬性(該屬性是一個對象類型)

public Object getAttribute(String name) : 返回指定名稱的屬性的值(如果該名稱的屬性不存在,則返回null)

String[] getValueNames() : 返回一個(包含在此session中所有可用屬性)的數組。

int getMaxInactiveInterval() : 返回一個時間,該時間表示當前session間隔多少時間之后會失效(單位:秒)。

?

3、session死亡發生在以下情況:

1.session的持有者(即客戶端瀏覽器)在最大無活動等待時間(MaxInactiveInterval)內無任何響應或請求 2.session被調用invalidate()方法強制弊了 3.jsp服務器重起或發生中斷(此時應該是所有session都當了)

用戶關閉瀏覽器后標志著

a.session將不再發送請求到服務器 b.該session將不會有人調用他的invalidate()方法

所以,此時只能等待session自己超時死亡,如果設置了該session的MaxInactiveInterval為-1,那么這個session只有在第3種情況下才能死了.可以通過判斷seccion的ID編號來確定是否為同一個人

?

4、Session的生命周期

分為三個階段.

首先是創建階段 當客戶端第一次訪問某個jsp或者Servlet時候,服務器會為當前會話創建一個sessionID,不同會話都會有一個特定的sessionID,每次客戶端向服務器發送請求時,即客戶端要訪問別的超鏈接網頁時,都會將此sessionID攜帶過去,服務端會對此sessionID進行校驗,來判斷此session對象是屬于哪個會話的.因為session對象是保存在服務器端的.

然后是活動階段 某次會話當中通過超鏈接打開新頁面屬于同一次會話. 只要當前會話頁面沒有全部關閉,重新打開新的瀏覽器窗口訪問同一項目資源時屬于同一次會話. 除非本次會話所有頁面都關閉后再重新訪問某個jsp或者Servlet將會創建新的會話.但要注意的是盡管創建了新的會話,但原有會話仍然存在,只是這個舊的sessionID仍然存在于服務器端,即session對象還在服務器端,只不過再也沒有客戶端會攜帶sessionID交予服務端校驗,等到超時session對象將會銷毀.即:創建了新的會話,并不意味著原有的會話就結束了,它還存在服務器端,等到設定的時間過后(即超時),便自動銷毀

最后是銷毀階段 Session的銷毀只有三種方式

1.調用session對象的invalidate()方法

2.Session過期(session超時意味著被銷毀)

3.服務器重新啟動

轉載于:https://www.cnblogs.com/yinyue-123/p/8622709.html

總結

以上是生活随笔為你收集整理的jsp内置对象(四)-----session对象的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。