目錄
1.會(huì)話跟蹤技術(shù)
2.Cookie
什么是Cookie?
Cookie如何來使用?
Cookie是如何實(shí)現(xiàn)的?
Cookie的使用細(xì)節(jié)有哪些?
3.Session
什么是Session?
Session如何來使用?
Session是如何實(shí)現(xiàn)的?
Session的使用細(xì)節(jié)有哪些?
// 1.創(chuàng)建對(duì)象
Cookie cookie = new Cookie("username","zs");
//2.發(fā)送Cookie,resp
resp.addCookie(cookie) ;
獲取
Cookie
// 1.獲取Cookie數(shù)組
Cookie[] cookies = req.getCookies();
//2.遍歷數(shù)組
for (Cookie cookie:cookies) {
//3.獲取數(shù)據(jù)
String name = cookie.getName() ;
if("username".equals(name)){
String value = cookie.getValue() ;
System.out.println(name+":"+value);
break;
}
}
Cookie是如何實(shí)現(xiàn)的?
Cookie
的實(shí)現(xiàn)原理基于
HTTP
協(xié)議
響應(yīng)頭
:set-cookie
請(qǐng)求頭
: cookie
Cookie的使用細(xì)節(jié)有哪些?Cookie的存活時(shí)間
設(shè)置 Cookie 存活時(shí)間 : setMaxAge(int seconds)// 1.創(chuàng)建對(duì)象
Cookie cookie = new Cookie("username","zs");
//設(shè)置存活時(shí)間,一周
cookie.setMaxAge(60*60*24*7);
//2.發(fā)送Cookie,resp
resp.addCookie(cookie) ;
參數(shù)值為
:
1.
正數(shù):將
Cookie
寫入瀏覽器所在電腦的硬盤,持久化存儲(chǔ)。到時(shí)間自動(dòng)刪除
2.
負(fù)數(shù):默認(rèn)值,
Cookie
在當(dāng)前瀏覽器內(nèi)存中,當(dāng)瀏覽器關(guān)閉,則
Cookie
被銷毀
3.
零:刪除對(duì)應(yīng)
Cookie
Cookie
存儲(chǔ)中文
Cookie不能直接存儲(chǔ)中文 ,如果需要存儲(chǔ)中文,就需要進(jìn)行轉(zhuǎn)碼,
采用
URLEncoder.encode()。
對(duì)中文進(jìn)行
URL
編碼
String value = "張三";
//對(duì)中文進(jìn)行URL編碼
value = URLEncoder.encode(value,"UTF-8");
System.out.println("存儲(chǔ)數(shù)據(jù):"+value);
//將編碼后的值存入Cookie中
// 1.創(chuàng)建對(duì)象
Cookie cookie = new Cookie("username",value);
//2.發(fā)送Cookie,resp
resp.addCookie(cookie) ;
獲取值,并對(duì)值進(jìn)行解碼
// 1.獲取Cookie數(shù)組
Cookie[] cookies = req.getCookies();
//2.遍歷數(shù)組
for (Cookie cookie:cookies) {
//3.獲取數(shù)據(jù)
String name = cookie.getName() ;
if("username".equals(name)){
String value = cookie.getValue() ;//獲取的是URL編碼
//URL解碼
value = URLDecoder.decode(value,"UTF-8");
System.out.println(name+":"+value);
break;
}
}
3.Session
什么是Session?
Session
:服務(wù)端會(huì)話跟蹤技術(shù):將數(shù)據(jù)保存到服務(wù)端
Session如何來使用?
獲取
Session
對(duì)象、存儲(chǔ)數(shù)據(jù)
//存儲(chǔ)到Session中
//1.獲取Session對(duì)象
HttpSession session = req.getSession() ;
//2.存儲(chǔ)數(shù)據(jù)
session.setAttribute("username","zs") ;
獲取
Session
對(duì)象、獲取數(shù)據(jù)
//1、獲取Session對(duì)象
HttpSession session = req.getSession() ;
//2.獲取數(shù)據(jù)
Object username = session.getAttribute("username") ;
System.out.println(username);
Session是如何實(shí)現(xiàn)的?
Session
是基于
Cookie
來實(shí)現(xiàn)的
ps:一次會(huì)話的多次請(qǐng)求之間,使用一個(gè)Sesssion的原因,Session有唯一標(biāo)識(shí):SessionID
Session的使用細(xì)節(jié)有哪些?
Session
鈍化與活化
鈍化:在服務(wù)器正常關(guān)閉后,
Tomcat
會(huì)自動(dòng)將
Session
數(shù)據(jù)寫入硬盤的文件中
活化:再次啟動(dòng)服務(wù)器后,從文件中加載數(shù)據(jù)到
Session
中
Session
銷毀
默認(rèn)情況下,無操作,
30
分鐘自動(dòng)銷毀
添加
session
銷毀的方法
//1、獲取Session對(duì)象
HttpSession session = req.getSession() ;
//銷毀
session.invalidate();
//2.獲取數(shù)據(jù)
Object username = session.getAttribute("username") ;
System.out.println(username);
Cookie
和
Session
的區(qū)別是什么
?
存儲(chǔ)位置:
Cookie
是將數(shù)據(jù)存儲(chǔ)在客戶端,
Session
將數(shù)據(jù)存儲(chǔ)在服務(wù)端
安全性:
Cookie
不安全,
Session
安全
數(shù)據(jù)大小:
Cookie
大
3KB
,
Session
無大小限制
存儲(chǔ)時(shí)間:
Cookie
可以通過
setMaxAge()
長(zhǎng)期存儲(chǔ),
Session
默認(rèn)
30
分鐘
服務(wù)器性能:
Cookie
不占服務(wù)器資源,
Session
占用服務(wù)器資源你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧
本文名稱:會(huì)話跟蹤技術(shù)-創(chuàng)新互聯(lián)
文章轉(zhuǎn)載:http://www.rwnh.cn/article34/pcope.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、品牌網(wǎng)站設(shè)計(jì)、外貿(mào)網(wǎng)站建設(shè)、服務(wù)器托管、軟件開發(fā)、建站公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容