溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Javaweb中怎么設置session過期時間

發(fā)布時間:2021-06-30 17:30:28 來源:億速云 閱讀:339 作者:Leah 欄目:大數(shù)據(jù)

Javaweb中怎么設置session過期時間,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

設置Session超時時間方式

方式一:在web.xml中設置session-config

如下:

<session-config>      <session-timeout>2</session-timeout></session-config>

即客戶端連續(xù)兩次與服務器交互間隔時間最長為2分鐘,2分鐘后session.getAttribute()獲取的值為空

API信息:

session.getCreationTime();   //獲取session的創(chuàng)建時間session.getLastAccessedTime();  //獲取上次與服務器交互時間session.getMaxInactiveInterval(); //獲取session最大的不活動的間隔時間,以秒為單位120秒。

方式二:在Tomcat的/conf/web.xml中

session-config,默認值為:30分鐘

<session-config>     <session-timeout>30</session-timeout></session-config>

方式三:在Servlet中設置

HttpSession session = request.getSession();session.setMaxInactiveInterval(60);//單位為秒

說明

1.優(yōu)先級:Servlet中API設置 > 程序/web.xml設置 > Tomcat/conf/web.xml設置

2.若訪問服務器session超時(本次訪問與上次訪問時間間隔大于session最大的不活動的間隔時間)了,即上次會話結(jié)束,但服務器與客戶端會產(chǎn)生一個新的會話,之前的session里的屬性值全部丟失,產(chǎn)生新的sesssionId

3.客戶端與服務器一次有效會話(session沒有超時),每次訪問sessionId相同,若代碼中設置了session.setMaxInactiveInterval()值,那么這個session的最大不活動間隔時間將被修改,并被應用為新值。

4.Session的銷毀(代表會話周期的結(jié)束):在某個請求周期內(nèi)調(diào)用了Session.invalidate()方法,此請求周期結(jié)束后,session被銷毀;或者是session超時后自動銷毀;或者客戶端關(guān)掉瀏覽器

5.對于JSP,如果指定了<%@ page session="false"%>,則在JSP中無法直接訪問內(nèi)置的session變量,同時也不會主動創(chuàng)建session,因為此時JSP未自動執(zhí)行request.getSession()操作獲取session。

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI