佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > JSP Session超時(shí)設(shè)置的實(shí)現(xiàn)方法

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

熱門標(biāo)簽:電子圍欄 銀行業(yè)務(wù) 團(tuán)購(gòu)網(wǎng)站 科大訊飛語(yǔ)音識(shí)別系統(tǒng) Mysql連接數(shù)設(shè)置 阿里云 Linux服務(wù)器 服務(wù)器配置

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

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

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

方式一: 

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

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

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

API信息:

  session.getCreationTime()   獲取session的創(chuàng)建時(shí)間
  session.getLastAccessedTime()  獲取上次與服務(wù)器交互時(shí)間
  session.getMaxInactiveInterval() 獲取session最大的不活動(dòng)的間隔時(shí)間,以秒為單位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);//單位為秒

說(shuō)明: 

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

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

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

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

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

總結(jié):

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

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

您可能感興趣的文章:
  • jsp cookie+session實(shí)現(xiàn)簡(jiǎn)易自動(dòng)登錄
  • JSP登錄中Session的用法實(shí)例詳解
  • jsp如何獲取Session中的值
  • JSP 中Session的詳解及原理分析
  • jsp使用sessionScope獲取session案例詳解

標(biāo)簽:衢州 廣元 衡水 萍鄉(xiāng) 棗莊 大理 蚌埠 江蘇

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《JSP Session超時(shí)設(shè)置的實(shí)現(xiàn)方法》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    大悟县| 开平市| 威宁| 鸡东县| 富民县| 神农架林区| 会泽县| 会东县| 长岛县| 齐齐哈尔市| 新昌县| 鄂托克前旗| 甘肃省| 泸溪县| 本溪| 麻城市| 甘洛县| 成安县| 建瓯市| 兰考县| 宁国市| 沾益县| 扎囊县| 莫力| 嘉祥县| 汶川县| 荆州市| 西丰县| 台中市| 亚东县| 都昌县| 镇赉县| 灯塔市| 苍梧县| 黄骅市| 文昌市| 乌拉特后旗| 双桥区| 邻水| 丰原市| 东丽区|