JavaWeb之Session

Session機(jī)制
session機(jī)制采用的是在服務(wù)器端保持 HTTP 狀態(tài)信息的方案 君丁。

除了使用Cookie框往,Web應(yīng)用程序中還經(jīng)常使用Session來(lái)記錄客戶端狀態(tài)匙赞。Session是服務(wù)器端使用的一種記錄客戶端狀態(tài)的機(jī)制屡穗,使用上比Cookie簡(jiǎn)單一些厅目,相應(yīng)的也增加了服務(wù)器的存儲(chǔ)壓力番枚。

Session是另一種記錄客戶狀態(tài)的機(jī)制,不同的是Cookie保存在客戶端瀏覽器中璧瞬,而Session保存在服務(wù)器上户辫。客戶端瀏覽器訪問(wèn)服務(wù)器的時(shí)候嗤锉,服務(wù)器把客戶端信息以某種形式記錄在服務(wù)器上渔欢。這就是Session∥脸溃客戶端瀏覽器再次訪問(wèn)時(shí)只需要從該Session中查找該客戶的狀態(tài)就可以了奥额。

如果說(shuō)Cookie機(jī)制是通過(guò)檢查客戶身上的“通行證”來(lái)確定客戶身份的話,那么Session機(jī)制就是通過(guò)檢查服務(wù)器上的“客戶明細(xì)表”來(lái)確認(rèn)客戶身份访诱。Session相當(dāng)于程序在服務(wù)器上建立的一份客戶檔案垫挨,客戶來(lái)訪的時(shí)候只需要查詢客戶檔案表就可以了。

當(dāng)程序需要為某個(gè)客戶端的請(qǐng)求創(chuàng)建一個(gè)session時(shí)触菜,服務(wù)器首先檢查這個(gè)客戶端的請(qǐng)求里是否包含了一個(gè)session標(biāo)識(shí)(即sessionId),如果已經(jīng)包含一個(gè)sessionId則說(shuō)明以前已經(jīng)為此客戶創(chuàng)建過(guò)session九榔,服務(wù)器就按照session id把這個(gè)session檢索出來(lái)使用(如果檢索不到,可能會(huì)新建一個(gè)涡相,這種情況可能出現(xiàn)在服務(wù)端已經(jīng)刪除了該用戶對(duì)應(yīng)的session對(duì)象哲泊,但用戶人為地在請(qǐng)求的URL后面附加上一個(gè)JSESSION的參數(shù))。如果客戶請(qǐng)求不包含sessionId催蝗,則為此客戶創(chuàng)建一個(gè)session并且生成一個(gè)與此session相關(guān)聯(lián)的sessionId切威,這個(gè)session id將在本次響應(yīng)中返回給客戶端保存。

常見(jiàn)方法:

// 設(shè)置屬性
session.setAttribute("login_user",userinfo);
// 獲取屬性
Userinfo userinfo = (Userinfo)session.getAttribute("login_user");
// 刪除屬性
session.removeAttribute(userinfo);
// getId
String sid = session.getId();
// 銷毀
session.invalidate();
// 持久化session
session.setMaxInactiveInterval(秒);

設(shè)置全局session過(guò)期時(shí)間,以分鐘為單位

<session-config>
        <session-timeout>60</session-timeout>
</session-config>

注意:瀏覽器關(guān)閉丙号,session不會(huì)立刻銷毀先朦,它默認(rèn)的生命周期是30分鐘

Cookie和Session的比較

1缰冤、存放位置不同
Cookie保存在客戶端,Session保存在服務(wù)端喳魏。
2棉浸、存取方式的不同
Cookie是保存在客戶端瀏覽器的一段文本(name:value),不能存儲(chǔ)對(duì)象等一些復(fù)雜信息
Session是存儲(chǔ)在服務(wù)端的一個(gè)對(duì)象截酷,它可以存儲(chǔ)任意類型的數(shù)據(jù)
3涮拗、安全性的不同
Cookie是以明文的形式保存在客戶端的,對(duì)用戶是可見(jiàn)的迂苛,Session保存在服務(wù)端三热,對(duì)用戶不可見(jiàn)
4、對(duì)服務(wù)器造成的壓力不同

典型應(yīng)用

Cookie :保存登錄者用戶名密碼三幻、用戶的瀏覽歷史等
Session:保存登錄者信息就漾,購(gòu)物車信息,驗(yàn)證碼等

會(huì)話跟蹤四種方式

①Cookie
②Session
③URL重寫

<a href="<%=response.encodeURL("login.jsp") %>">重新登錄</a>
解析的url中附帶了jsessionid

④隱藏域

<input type="hidden" name="jsessionid" value="${jsessionid}">
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末念搬,一起剝皮案震驚了整個(gè)濱河市抑堡,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌朗徊,老刑警劉巖首妖,帶你破解...
    沈念sama閱讀 221,548評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異爷恳,居然都是意外死亡有缆,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門温亲,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)棚壁,“玉大人,你說(shuō)我怎么就攤上這事栈虚⌒渫猓” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 167,990評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵魂务,是天一觀的道長(zhǎng)曼验。 經(jīng)常有香客問(wèn)我,道長(zhǎng)粘姜,這世上最難降的妖魔是什么鬓照? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,618評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮相艇,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘纯陨。我一直安慰自己坛芽,他們只是感情好留储,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,618評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著咙轩,像睡著了一般获讳。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上活喊,一...
    開(kāi)封第一講書(shū)人閱讀 52,246評(píng)論 1 308
  • 那天丐膝,我揣著相機(jī)與錄音,去河邊找鬼钾菊。 笑死帅矗,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的煞烫。 我是一名探鬼主播浑此,決...
    沈念sama閱讀 40,819評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼滞详!你這毒婦竟也來(lái)了凛俱?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,725評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤料饥,失蹤者是張志新(化名)和其女友劉穎蒲犬,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體岸啡,經(jīng)...
    沈念sama閱讀 46,268評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡原叮,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,356評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了凰狞。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片篇裁。...
    茶點(diǎn)故事閱讀 40,488評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖赡若,靈堂內(nèi)的尸體忽然破棺而出达布,到底是詐尸還是另有隱情,我是刑警寧澤逾冬,帶...
    沈念sama閱讀 36,181評(píng)論 5 350
  • 正文 年R本政府宣布黍聂,位于F島的核電站,受9級(jí)特大地震影響身腻,放射性物質(zhì)發(fā)生泄漏产还。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,862評(píng)論 3 333
  • 文/蒙蒙 一嘀趟、第九天 我趴在偏房一處隱蔽的房頂上張望脐区。 院中可真熱鬧,春花似錦她按、人聲如沸牛隅。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,331評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)媒佣。三九已至匕累,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間默伍,已是汗流浹背欢嘿。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,445評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留也糊,地道東北人炼蹦。 一個(gè)月前我還...
    沈念sama閱讀 48,897評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像显设,于是被迫代替她去往敵國(guó)和親框弛。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,500評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容