欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JSP Session超時設(shè)置的實現(xiàn)方法

 更新時間:2017年09月17日 09:29:28   作者:xiaobojava  
這篇文章主要介紹了JSP Session超時設(shè)置的實現(xiàn)方法的相關(guān)資料,這里提供三種方法幫助大家學(xué)習(xí)理解這部分內(nèi)容,需要的朋友可以參考下

JSP Session超時設(shè)置的實現(xiàn)方法

在Java Web開發(fā)中,Session為我們提供了很多方便,Session是由瀏覽器和服務(wù)器之間維護(hù)的。Session超時理解為:瀏覽器和服務(wù)器之間創(chuàng)建了一個Session,由于客戶端長時間(休眠時間)沒有與服務(wù)器交互,服務(wù)器將此Session銷毀,客戶端再一次與服務(wù)器交互時之前的Session就不存在了。 

設(shè)置Session超時時間方式:

方式一: 

在web.xml中設(shè)置session-config如下: 

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

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

API信息:

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

方式二:

 在Tomcat的/conf/web.xml中session-config,默認(rèn)值為:30分鐘

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

 方式三:

 在Servlet中設(shè)置

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

說明: 

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

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

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

 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。 

總結(jié):

       在程序開發(fā)過程中,我們可以在客戶端每次與服務(wù)器交互時檢查SessionID(Session中屬性值,非HttpServlet環(huán)境開發(fā)中也可以用其它的Key值代替),用于會話管理。

如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

最新評論