cookie和session 會(huì)話技術(shù)

cookie和session 會(huì)話技術(shù)(重要) ##

1.會(huì)話:概念:先打開一個(gè)瀏覽器,瀏覽器的網(wǎng)頁(資源,包含多次請(qǐng)求和響應(yīng))它碎,關(guān)閉整個(gè)瀏覽器,這個(gè)過程稱為一次會(huì)話。

2.作用:通過cookie和session技術(shù)來保存用戶相關(guān)的一些數(shù)據(jù)扳肛。

cookie的技術(shù)

理解cookie原理(理解)

1.cookie的原理:Cookie是客戶端技術(shù)傻挂,程序把每個(gè)用戶的數(shù)據(jù)以cookie的形式寫給用戶各自的瀏覽器。當(dāng)用戶使用瀏覽器再去訪問服務(wù)器中的web資源時(shí)挖息,就會(huì)帶著各自的數(shù)據(jù)去金拒。這樣,web資源處理的就是用戶各自的數(shù)據(jù)了套腹。

2.看圖

cookie對(duì)象的api

1.Cookie(String name, String value)? ? ? ? cookie的構(gòu)造方法:? ?

2.String getName()? ? ? ? ? ? ? ? ? ? ? ? ? 獲取cookie的名稱

3.String getValue()? ? ? ? ? ? ? ? ? ? ? ? 獲取cookie的值

4.void setValue(String newValue)? ? ? ? ? ? 設(shè)置cookie的值

5.void addCookie(Cookie cookie)? ? ? ? ? ? 在服務(wù)器端把cookie保存到客戶端

6.Cookie[] getCookies()? ? ? ? ? ? ? ? ? ? 從客戶端獲取cookie的數(shù)組

顯示用戶上次訪問的時(shí)間(和Cookie的原理)?/** * 1.先判斷是否是第一次訪問绪抛?因?yàn)椋旱谝淮卧L問和第n次處理的業(yè)務(wù)是不同的。 * 2.如果是第一次訪問:先輸出一句歡迎电禀,記錄當(dāng)前的時(shí)間幢码,保存到cookie中,回寫到瀏覽器端尖飞。 * 3.如果不是第一次訪問症副,獲取cookie中的值(就是你上次的訪問的時(shí)間),把時(shí)間輸出到頁面上政基。記錄當(dāng)前的時(shí)間贞铣,保存到cookie中∫该矗回寫到瀏覽器端咕娄。 */

* 代碼

cookie的api(另外)

* 演示的效果:直接關(guān)閉瀏覽器,cookie沒有了珊擂,再訪問是最新的圣勒。

* 默認(rèn)的cookie:默認(rèn)保存瀏覽器端。

* 持久的cookie:通過setMaxAge()方法摧扇,把cookie保存到本地的磁盤上圣贸。

* 注意:需求:假如編寫保存用戶名的代碼,默認(rèn)保存7天扛稽。到第5天吁峻,不想保存了,清除cookie在张。

* 刪除保存本地磁盤上的cookie用含。setMaxAge(0); 但是前提條件:如果在之前的代碼中設(shè)置有效路徑的話,你在設(shè)置setMaxAge(0)之前必須先設(shè)置有效路徑一次帮匾。

1.void setMaxAge(int expiry)? ? ? ? ? ? ? ? 設(shè)置cookie的有效時(shí)間(單位是秒)

2.void setPath(String uri)? ? ? ? ? ? ? ? ? 設(shè)置cookie的有效路徑

? ? * 有效路徑:訪問WEB其他資源的時(shí)候是否攜帶cookie內(nèi)容啄骇。

? ? * 不設(shè)置有效路徑:說明我程序默認(rèn)的有效路徑。 /day11?

? ? * 由誰決定:LastTimeServlet訪問路徑是http://localhost/day11/lasttime

? ? * 訪問WEB資源下的jsp/demo1.jsp的時(shí)候:http://localhost/day11/jsp/demo1.jsp瘟斜。攜帶了cookie的內(nèi)容缸夹。

? ? * 總結(jié):只要是訪問/day11下面的其他資源痪寻,默認(rèn)攜帶cookie的內(nèi)容。

? ? * 把LastTimeServlet的訪問路徑修改了 /servlet/lasttime

? ? * 默認(rèn)的有效路徑已經(jīng)改變了 /day11/servlet

? ? * 訪問WEB資源下的jsp/demo1.jsp的時(shí)候:http://localhost/day11/jsp/demo1.jsp虽惭。不攜帶了cookie的內(nèi)容橡类。

? ? * 不想讓它有默認(rèn)的有效路徑,通過setPath來進(jìn)行設(shè)置

3.void setDomain(String pattern)? ? ? ? ? ? 設(shè)置cookie的有效域名

? ? * 設(shè)置域名? cookie.setDomain(".sina.com.cn");

? ? * 訪問域名其他的內(nèi)容是否攜帶cooikie

? ? ? ? * www.sina.com.cn

? ? ? ? * sports.sina.com.cn

? ? ? ? * xxxx.sina.com.cn

商品的瀏覽記錄

/**

* 0.獲取傳過來id值

* 1.判斷是否是第一次訪問芽唇?(獲取指定名稱的cookie如果為null顾画,說明是第一次訪問)

*? ? ? * 如果是第一次訪問,把商品的id保存到cookie中披摄,回寫cookie亲雪。

*? ? ? * 如果不是第一次訪問

*? ? ? ? ? * 先獲取cookie中的內(nèi)容,進(jìn)行判斷(判斷cookie中是否包含當(dāng)前點(diǎn)擊的商品)

*? ? ? ? ? ? ? * 如果cookie中已經(jīng)包含了該商品疚膊,那么就不用處理了

*? ? ? ? ? ? ? * 如果不包含义辕,在cookie中追加該商品? product=1? product=1,2

* 2.重定向商品的列表頁面

* 3.需要在商品的列表頁面中獲取cookie的中內(nèi)容,把內(nèi)容顯示到頁面上寓盗。

*/

seesion的原理

* 看圖灌砖。

session對(duì)象的api

* 獲取session對(duì)象? HttpSession request.getSession() 第一次執(zhí)行,在服務(wù)器的內(nèi)部創(chuàng)建一個(gè)獨(dú)享的session傀蚌。如果是第二次執(zhí)行基显,要是有鑰匙的情況,不會(huì)創(chuàng)建新的session善炫。?

* ServletContext:代表整個(gè)WEB應(yīng)用撩幽。

* session又是一個(gè)域?qū)ο蟆R淮螘?huì)話的范圍箩艺。(在一次會(huì)話的過程中窜醉,可以有多次請(qǐng)求和響應(yīng),只要是瀏覽器不關(guān)閉艺谆,一直有效)

* request域?qū)ο笳ザ瑁淮握?qǐng)求。

* Object getAttribute(String name)? ? ? ? ? ? ? ? ? 獲取域?qū)ο蟮膶傩灾?/p>

* void setAttribute(String name, Object value)? ? ? 設(shè)置域?qū)ο笾械膶傩灾?/p>

* void removeAttribute(String name)? ? ? ? ? ? ? ? 刪除域?qū)ο笾械膶傩灾?/p>

* String getId()? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 獲取session? id的值

* void invalidate()? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 手動(dòng)的銷毀(用戶退出)

簡單的購物車

* 購物車(商品的名稱和數(shù)量) 對(duì)象? 就使用Map cart 當(dāng)前購物車了静汤。有多次請(qǐng)求和響應(yīng)琅催,cart一直有,把cart存入到session中虫给。

session的追蹤(了解)

* session的追蹤的技術(shù)藤抡。禁用了瀏覽器的cookie中。通過session回寫的cookie的鑰匙沒有了抹估。

* 服務(wù)器內(nèi)部的session還是有的杰捂。如果你要是給我一把鑰匙。

* 可以使用一些方法棋蚌,在請(qǐng)求的后面拼接jsessionid 證明:session在服務(wù)器磁盤上嫁佳,沒有被銷毀。

session域?qū)ο?/b>

* 域?qū)ο螅河脕韨鬟f數(shù)據(jù)谷暮。

* ServletContext:代表整個(gè)WEB應(yīng)用蒿往。

* session又是一個(gè)域?qū)ο蟆R淮螘?huì)話的范圍湿弦。(在一次會(huì)話的過程中瓤漏,可以有多次請(qǐng)求和響應(yīng),只要是瀏覽器不關(guān)閉颊埃,一直有效)

* request域?qū)ο笫叱洌淮握?qǐng)求。

session的創(chuàng)建和銷毀

* session什么時(shí)候創(chuàng)建呢班利?第一次訪問的時(shí)候饥漫,調(diào)用request.getSession(),因?yàn)闆]有session的id罗标。

* session的銷毀

? ? * 非正常原因關(guān)閉服務(wù)器

? ? * session默認(rèn)銷毀時(shí)間 30分鐘? ? 在tomcat/conf/web.xml 有一段配置



? ? * void invalidate()? ? 手動(dòng)的銷毀session(用戶推出)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末庸队,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子闯割,更是在濱河造成了極大的恐慌彻消,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,378評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件宙拉,死亡現(xiàn)場離奇詭異宾尚,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)谢澈,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門煌贴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人澳化,你說我怎么就攤上這事崔步。” “怎么了缎谷?”我有些...
    開封第一講書人閱讀 152,702評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵井濒,是天一觀的道長。 經(jīng)常有香客問我列林,道長瑞你,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,259評(píng)論 1 279
  • 正文 為了忘掉前任希痴,我火速辦了婚禮者甲,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘砌创。我一直安慰自己虏缸,他們只是感情好鲫懒,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評(píng)論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著刽辙,像睡著了一般窥岩。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上宰缤,一...
    開封第一講書人閱讀 49,036評(píng)論 1 285
  • 那天颂翼,我揣著相機(jī)與錄音,去河邊找鬼慨灭。 笑死朦乏,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的氧骤。 我是一名探鬼主播呻疹,決...
    沈念sama閱讀 38,349評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼语淘!你這毒婦竟也來了诲宇?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,979評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤惶翻,失蹤者是張志新(化名)和其女友劉穎姑蓝,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體吕粗,經(jīng)...
    沈念sama閱讀 43,469評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡纺荧,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評(píng)論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了颅筋。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片宙暇。...
    茶點(diǎn)故事閱讀 38,059評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖议泵,靈堂內(nèi)的尸體忽然破棺而出占贫,到底是詐尸還是另有隱情,我是刑警寧澤先口,帶...
    沈念sama閱讀 33,703評(píng)論 4 323
  • 正文 年R本政府宣布型奥,位于F島的核電站,受9級(jí)特大地震影響碉京,放射性物質(zhì)發(fā)生泄漏厢汹。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評(píng)論 3 307
  • 文/蒙蒙 一谐宙、第九天 我趴在偏房一處隱蔽的房頂上張望烫葬。 院中可真熱鬧,春花似錦、人聲如沸搭综。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽兑巾。三九已至舰讹,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間闪朱,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來泰國打工钻洒, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留奋姿,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,501評(píng)論 2 354
  • 正文 我出身青樓素标,卻偏偏與公主長得像称诗,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子头遭,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評(píng)論 2 345

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