目錄
成都創(chuàng)新互聯(lián)公司主要從事網(wǎng)站建設(shè)、成都網(wǎng)站制作、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)安陽,十余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):135182197921.會話跟蹤技術(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)建對象
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
請求頭
: cookie
Cookie的使用細(xì)節(jié)有哪些?Cookie的存活時間
設(shè)置 Cookie 存活時間 : setMaxAge(int seconds)// 1.創(chuàng)建對象
Cookie cookie = new Cookie("username","zs");
//設(shè)置存活時間,一周
cookie.setMaxAge(60*60*24*7);
//2.發(fā)送Cookie,resp
resp.addCookie(cookie) ;
參數(shù)值為
:
1.
正數(shù):將
Cookie
寫入瀏覽器所在電腦的硬盤,持久化存儲。到時間自動刪除
2.
負(fù)數(shù):默認(rèn)值,
Cookie
在當(dāng)前瀏覽器內(nèi)存中,當(dāng)瀏覽器關(guān)閉,則
Cookie
被銷毀
3.
零:刪除對應(yīng)
Cookie
Cookie
存儲中文
Cookie不能直接存儲中文 ,如果需要存儲中文,就需要進(jìn)行轉(zhuǎn)碼,
采用
URLEncoder.encode()。
對中文進(jìn)行
URL
編碼
String value = "張三";
//對中文進(jìn)行URL編碼
value = URLEncoder.encode(value,"UTF-8");
System.out.println("存儲數(shù)據(jù):"+value);
//將編碼后的值存入Cookie中
// 1.創(chuàng)建對象
Cookie cookie = new Cookie("username",value);
//2.發(fā)送Cookie,resp
resp.addCookie(cookie) ;
獲取值,并對值進(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ù)端會話跟蹤技術(shù):將數(shù)據(jù)保存到服務(wù)端
Session如何來使用?
獲取
Session
對象、存儲數(shù)據(jù)
//存儲到Session中
//1.獲取Session對象
HttpSession session = req.getSession() ;
//2.存儲數(shù)據(jù)
session.setAttribute("username","zs") ;
獲取
Session
對象、獲取數(shù)據(jù)
//1、獲取Session對象
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:一次會話的多次請求之間,使用一個Sesssion的原因,Session有唯一標(biāo)識:SessionID
Session的使用細(xì)節(jié)有哪些?
Session
鈍化與活化
鈍化:在服務(wù)器正常關(guān)閉后,
Tomcat
會自動將
Session
數(shù)據(jù)寫入硬盤的文件中
活化:再次啟動服務(wù)器后,從文件中加載數(shù)據(jù)到
Session
中
Session
銷毀
默認(rèn)情況下,無操作,
30
分鐘自動銷毀
添加
session
銷毀的方法
//1、獲取Session對象
HttpSession session = req.getSession() ;
//銷毀
session.invalidate();
//2.獲取數(shù)據(jù)
Object username = session.getAttribute("username") ;
System.out.println(username);
Cookie
和
Session
的區(qū)別是什么
?
存儲位置:
Cookie
是將數(shù)據(jù)存儲在客戶端,
Session
將數(shù)據(jù)存儲在服務(wù)端
安全性:
Cookie
不安全,
Session
安全
數(shù)據(jù)大小:
Cookie
大
3KB
,
Session
無大小限制
存儲時間:
Cookie
可以通過
setMaxAge()
長期存儲,
Session
默認(rèn)
30
分鐘
服務(wù)器性能:
Cookie
不占服務(wù)器資源,
Session
占用服務(wù)器資源你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧