九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
Session的生命周期
以前在學(xué)習(xí)的時(shí)候沒(méi)怎么注意,今天又回過(guò)頭來(lái)仔細(xì)研究研究了一下Session的生命周期。

  Session存儲(chǔ)在服務(wù)器端,一般為了防止在服務(wù)器的內(nèi)存中(為了高速存?。琒essinon在用戶訪問(wèn)第一次訪問(wèn)服務(wù)器時(shí)創(chuàng)建,需要注意只有訪問(wèn)JSP、Servlet等程序時(shí)才會(huì)創(chuàng)建Session,只訪問(wèn)HTML、IMAGE等靜態(tài)資源并不會(huì)創(chuàng)建Session,可調(diào)用request.getSession(true)強(qiáng)制生成Session。

  Session什么時(shí)候失效?

  1. 服務(wù)器會(huì)把長(zhǎng)時(shí)間沒(méi)有活動(dòng)的Session從服務(wù)器內(nèi)存中清除,此時(shí)Session便失效。Tomcat中Session的默認(rèn)失效時(shí)間為20分鐘。

  2. 調(diào)用Session的invalidate方法。

  Session對(duì)瀏覽器的要求:

  雖然Session保存在服務(wù)器,對(duì)客戶端是透明的,它的正常運(yùn)行仍然需要客戶端瀏覽器的支持。這是因?yàn)镾ession需要使用Cookie作為識(shí)別標(biāo)志。HTTP協(xié)議是無(wú)狀態(tài)的,Session不能依據(jù)HTTP連接來(lái)判斷是否為同一客戶,因此服務(wù)器向客戶端瀏覽器發(fā)送一個(gè)名為JSESSIONID的Cookie,它的值為該Session的id(也就是HttpSession.getId()的返回值)。Session依據(jù)該Cookie來(lái)識(shí)別是否為同一用戶。

 

  該Cookie為服務(wù)器自動(dòng)生成的,它的maxAge屬性一般為-1,表示僅當(dāng)前瀏覽器內(nèi)有效,并且各瀏覽器窗口間不共享,關(guān)閉瀏覽器就會(huì)失效。因此同一機(jī)器的兩個(gè)瀏覽器窗口訪問(wèn)服務(wù)器時(shí),會(huì)生成兩個(gè)不同的Session。但是由瀏覽器窗口內(nèi)的鏈接、腳本等打開(kāi)的新窗口(也就是說(shuō)不是雙擊桌面瀏覽器圖標(biāo)等打開(kāi)的窗口)除外。這類子窗口會(huì)共享父窗口的Cookie,因此會(huì)共享一個(gè)Session。

 

  注意:新開(kāi)的瀏覽器窗口會(huì)生成新的Session,但子窗口除外。子窗口會(huì)共用父窗口的Session。例如,在鏈接上右擊,在彈出的快捷菜單中選擇"在新窗口中打開(kāi)"時(shí),子窗口便可以訪問(wèn)父窗口的Session。

 

如果客戶端瀏覽器將Cookie功能禁用,或者不支持Cookie怎么辦?例如,絕大多數(shù)的手機(jī)瀏覽器都不支持Cookie。Java Web提供了另一種解決方案:URL地址重寫。

  URL地址重寫是對(duì)客戶端不支持Cookie的解決方案。URL地址重寫的原理是將該用戶Session的id信息重寫到URL地址中。服務(wù)器能夠解析重寫后的URL獲取Session的id。這樣即使客戶端不支持Cookie,也可以使用Session來(lái)記錄用戶狀態(tài)。HttpServletResponse類提供了encodeURL(String url)實(shí)現(xiàn)URL地址重寫,該方法會(huì)自動(dòng)判斷客戶端是否支持Cookie。如果客戶端支持Cookie,會(huì)將URL原封不動(dòng)地輸出來(lái)。如果客戶端不支持Cookie,則會(huì)將用戶Session的id重寫到URL中。

  注意:TOMCAT判斷客戶端瀏覽器是否支持Cookie的依據(jù)是請(qǐng)求中是否含有Cookie。盡管客戶端可能會(huì)支持Cookie,但是由于第一次請(qǐng)求時(shí)不會(huì)攜帶任何Cookie(因?yàn)椴o(wú)任何Cookie可以攜帶),URL地址重寫后的地址中仍然會(huì)帶有jsessionid。當(dāng)?shù)诙卧L問(wèn)時(shí)服務(wù)器已經(jīng)在瀏覽器中寫入Cookie了,因此URL地址重寫后的地址中就不會(huì)帶有jsessionid了

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
JSESSION,Session,Cookie淺談
cookie與session的關(guān)系
jsessionid釋疑解惑
url中的jsessionid解釋 - 梧桐的日志 - 網(wǎng)易博客
android客戶端與服務(wù)器端交互 如何保持session
java web會(huì)話跟蹤技術(shù)(深入理解HTTP Session與Cookie)
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服