2020-03-19

Cookie & Session

(一)會話技術(shù)的概述

1骇窍、每個用戶與服務(wù)器進(jìn)行交互過程中,產(chǎn)生一些各自的數(shù)據(jù)锥余,程序想要把這些數(shù)據(jù)進(jìn)行保存腹纳,就需要使用會話技術(shù)

2、例如:用戶點(diǎn)擊超鏈接購買一個商品,程序應(yīng)該保存用戶所購買的商品嘲恍,以便于用戶點(diǎn)擊結(jié)賬時足画,可以得到用戶所購買的商品信息

3、思考:用戶購買的商品保存在Request或ServletContext中是否可以佃牛?

答案:無論保存在Request或ServletContext中都不行

(二)會話技術(shù)的實現(xiàn)原理

一淹辞、會話技術(shù)分類

1、Cookie技術(shù)

(1)Cookie是客戶端技術(shù)俘侠,程序把每個用戶的數(shù)據(jù)以cookie的形式保存到各自的瀏覽器中桑涎,

(2)當(dāng)用戶使用瀏覽器再次訪問服務(wù)器中的Web資源的時候,就會帶著各自的數(shù)據(jù)過去兼贡。

(3)這樣Web資源處理的就是用戶各自的數(shù)據(jù)了

2、Session技術(shù)

(1)Session是服務(wù)器端技術(shù)娃胆,利用這個技術(shù)遍希,服務(wù)器在運(yùn)行時為每一個用戶的瀏覽器創(chuàng)建一個獨(dú)享的Session對象。

(2)由于Session為用戶瀏覽器獨(dú)享里烦,所有用戶在訪問服務(wù)器的時候凿蒜,可以把各自的數(shù)據(jù)放在各自的Session中,

(3)當(dāng)用戶再次訪問服務(wù)器中的Web資源的時候胁黑,其他的Web資源再從用戶各自的Session中取出數(shù)據(jù)废封,為用戶服務(wù)

二、會話技術(shù)的實現(xiàn)原理

1丧蘸、Cookie的實現(xiàn)原理

2漂洋、Session的實現(xiàn)原理

(三)記錄用戶上次訪問時間的分析

分析需求和流程

(四)記錄用戶上次訪問時間的代碼實現(xiàn)

一、Cookie的簡單使用

1力喷、獲得從瀏覽器帶過來的Cookie

? ? 通過HttpServletRequest對象中的方法:

?? ??? ?getCookies()

2刽漂、向瀏覽器回寫Cookie

? ? 通過HttpServletResponse對象中的方法:

?? ??? ?addCookie(Cookie cookie)

3、Cookie的構(gòu)造

? ??Cookie(String name, String value)

二弟孟、案例代碼實現(xiàn)

? ? 創(chuàng)建一個Web項目

創(chuàng)建包結(jié)構(gòu)

? ? 代碼實現(xiàn)

?? ?? ? 編寫工具類

?? ?? ? 編寫Servlet

(五)Cookie的分類

一贝咙、案例存在問題

問題描述:

? ? 用戶訪問Servlet,記錄用戶的上次訪問時間拂募,但是如果用戶將瀏覽器關(guān)閉庭猩,再重新打開瀏覽器訪問程序,程序就會把其當(dāng)成是第一次訪問的用戶(顯示:您好陈症,歡迎來到本網(wǎng)站)

二蔼水、Cookie的分類

1、默認(rèn)級別的Cookie

指的是沒有設(shè)置有效時間的Cookie录肯,默認(rèn)的情況下徙缴,只要關(guān)閉了瀏覽器,Cookie也會被銷毀(Cookie存在于瀏覽器的內(nèi)存中,當(dāng)關(guān)閉了瀏覽器于样,Cookie就銷毀了)

2疏叨、持久級別的Cookie

指的是具有有效時間的Cookie,這種Cookie的內(nèi)容不是保存在瀏覽器的內(nèi)存中穿剖,而是將Cookie的內(nèi)容保存(持久化)到硬盤上蚤蔓。當(dāng)關(guān)閉瀏覽器,再次打開時糊余,會加載硬盤上的文件秀又,從而Cookie中的數(shù)據(jù)就不會丟失

(六)Cookie的API的概述

一、構(gòu)造方法

? ? Cookie(String name, String value)

? ? 需要傳入字符串類型的名稱和值

二贬芥、其他的方法

? ? 獲得Cookie的名稱:getName()

? ? 獲得Cookie的值:getValue()

? ? 設(shè)置Cookie的有效域名:setDomain(String domain)

? ? 設(shè)置Cookie的有效路徑:setPath(String uri)

? ? 設(shè)置Cookie的有效時長:setMaxAge(int expiry)

三吐辙、代碼改進(jìn)

案例問題解決

(七)Cookie的使用細(xì)節(jié)

1、一個Cookie只能標(biāo)識一種信息蘸劈,至少含有一個標(biāo)識該信息的名稱和值(即鍵值對)

2昏苏、一個web站點(diǎn)可以給一個瀏覽器發(fā)送多個Cookie,一個Web瀏覽器也可以存儲多個Web站點(diǎn)的Cookie

3威沫、老版本瀏覽器一般只允許存放300個Cookie贤惯,每個站點(diǎn)最多可以存放20個Cookie,每個Cookie的大小限制為4KB棒掠,瀏覽器存放的Cookie的大小和個數(shù)是有限制的

4孵构、如果創(chuàng)建了一個Cookie,并發(fā)送到瀏覽器烟很,默認(rèn)情況下颈墅,它是一個會話級別的Cookie,用戶退出瀏覽器就被刪除了

5雾袱、如果希望將這個Cookie存到磁盤上精盅,需要設(shè)置有效時長,就要調(diào)用setMaxAge(int expiry)方法谜酒,以秒為單位

6叹俏、需要手動刪除持久性Cookie的話,可以將Cookie的有效時長設(shè)置為0僻族,必須注意:刪除Coo




?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末粘驰,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子述么,更是在濱河造成了極大的恐慌蝌数,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,183評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件度秘,死亡現(xiàn)場離奇詭異顶伞,居然都是意外死亡饵撑,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評論 3 399
  • 文/潘曉璐 我一進(jìn)店門唆貌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來滑潘,“玉大人,你說我怎么就攤上這事锨咙∮锫保” “怎么了?”我有些...
    開封第一講書人閱讀 168,766評論 0 361
  • 文/不壞的土叔 我叫張陵酪刀,是天一觀的道長粹舵。 經(jīng)常有香客問我,道長骂倘,這世上最難降的妖魔是什么眼滤? 我笑而不...
    開封第一講書人閱讀 59,854評論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮历涝,結(jié)果婚禮上诅需,老公的妹妹穿的比我還像新娘。我一直安慰自己睬关,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,871評論 6 398
  • 文/花漫 我一把揭開白布毡证。 她就那樣靜靜地躺著电爹,像睡著了一般。 火紅的嫁衣襯著肌膚如雪料睛。 梳的紋絲不亂的頭發(fā)上丐箩,一...
    開封第一講書人閱讀 52,457評論 1 311
  • 那天,我揣著相機(jī)與錄音恤煞,去河邊找鬼屎勘。 笑死,一個胖子當(dāng)著我的面吹牛居扒,可吹牛的內(nèi)容都是我干的概漱。 我是一名探鬼主播,決...
    沈念sama閱讀 40,999評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼喜喂,長吁一口氣:“原來是場噩夢啊……” “哼瓤摧!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起玉吁,我...
    開封第一講書人閱讀 39,914評論 0 277
  • 序言:老撾萬榮一對情侶失蹤照弥,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后进副,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體这揣,經(jīng)...
    沈念sama閱讀 46,465評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,543評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了给赞。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片机打。...
    茶點(diǎn)故事閱讀 40,675評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖塞俱,靈堂內(nèi)的尸體忽然破棺而出姐帚,到底是詐尸還是另有隱情,我是刑警寧澤障涯,帶...
    沈念sama閱讀 36,354評論 5 351
  • 正文 年R本政府宣布罐旗,位于F島的核電站,受9級特大地震影響唯蝶,放射性物質(zhì)發(fā)生泄漏九秀。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,029評論 3 335
  • 文/蒙蒙 一粘我、第九天 我趴在偏房一處隱蔽的房頂上張望鼓蜒。 院中可真熱鬧,春花似錦征字、人聲如沸都弹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽畅厢。三九已至,卻和暖如春氮昧,著一層夾襖步出監(jiān)牢的瞬間框杜,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評論 1 274
  • 我被黑心中介騙來泰國打工袖肥, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留咪辱,地道東北人。 一個月前我還...
    沈念sama閱讀 49,091評論 3 378
  • 正文 我出身青樓椎组,卻偏偏與公主長得像油狂,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子寸癌,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,685評論 2 360

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

  • 背景在HTTP協(xié)議的定義中选调,采用了一種機(jī)制來記錄客戶端和服務(wù)器端交互的信息,這種機(jī)制被稱為cookie灵份,cooki...
    時芥藍(lán)閱讀 2,369評論 1 17
  • 注:本文轉(zhuǎn)載自前端大全 背景 在HTTP協(xié)議的定義中仁堪,采用了一種機(jī)制來記錄客戶端和服務(wù)器端交互的信息,這種機(jī)制被稱...
    楠小忎閱讀 673評論 0 0
  • 1. cookie 1.1 什么是cookie cookie 是存儲于訪問者的計算機(jī)中的變量填渠。每當(dāng)同一臺計算機(jī)通過...
    cbw100閱讀 4,064評論 0 13
  • 寫在前面 cookie和session的區(qū)別: 1弦聂、cookie數(shù)據(jù)存放在客戶的瀏覽器上鸟辅,session數(shù)據(jù)放在服...
    Pitfalls閱讀 1,526評論 0 17
  • 圣誕節(jié)忙到尾聲了。這幾天突出一些問題莺葫,人員培養(yǎng)不足匪凉。大單不多。 平時沒有做好捺檬。用萌姐的話來說再层,過有準(zhǔn)備的人生。而不...
    快樂番茄閱讀 228評論 0 0