會話管理:管理瀏覽器客戶端和服務(wù)器之間會話過程中產(chǎn)生的數(shù)據(jù).
Cookie技術(shù):會話技術(shù)保存在瀏覽器客戶端余耽。
Session技術(shù):會話數(shù)據(jù)保存在服務(wù)器端。
Cookie核心技術(shù)##
Cookie技術(shù):會話技術(shù)保存在瀏覽器客戶端苹熏。
- 構(gòu)造Cookie對象
Cookie.(java.lang.String name, java.lang.String value) ```
2. 設(shè)置Cookie
設(shè)置Cookied的有效訪問路徑
void setPath(java.lang.String uri) ```
????????有效路徑指的是cookie的有效路徑保存在哪里碟贾,那么瀏覽器在有效路徑下訪問服務(wù)器就會帶著cookie信息,否則不帶cookie信息轨域。
設(shè)置Cookie的有效時間
void setMaxAge(int expiry)
????????正整數(shù):表示cookie數(shù)據(jù)保存到cookie數(shù)據(jù)的緩存目錄(硬盤中)袱耽,數(shù)值表示保存的時間。
????????負整數(shù):表示cookie數(shù)據(jù)保存到瀏覽器內(nèi)存中干发,瀏覽器關(guān)閉朱巨,cookie丟失。
????????零:表示刪除同名的cookie數(shù)據(jù)枉长。
設(shè)置Cookie的值
void setValue(java.lang.String newValue)
- 發(fā)送Cookie到瀏覽器端保存
void response冀续。addCookie(Cookie cookie)
- 服務(wù)器接收Cookie
Cookie[] request.getCookies()
Cookie原理
- 服務(wù)器創(chuàng)建cookie對象,把會話數(shù)據(jù)存儲到cookie對象中搀暑。
new Cookie("name","value");
- 服務(wù)器發(fā)送cookie信息到瀏覽器
response.addCookie(cookie);```
3. 瀏覽器得到服務(wù)器發(fā)送的cookie沥阳,然后保存在瀏覽器端
4. 瀏覽器在下次訪問服務(wù)器時跨琳,會帶著cookie信息
5. 服務(wù)器收到瀏覽器帶的cookie信息
request.getCookie();```
????????注意:cookie數(shù)據(jù)類型只能保存非中文字符串類型自点。可以保存多個cookie脉让,但是瀏覽器一般只允許存放300個cookie桂敛,每個站點最多存放20個cookie功炮,每個cookie的大小限制為4KB。
舉例
/**
* 1.創(chuàng)建Cookie對象
*/
Cookie cookie = new Cookie("name","eric");
/**
* 2.服務(wù)器發(fā)送Cookie信息到瀏覽器
*/
response.addCookie(cookie);
/**
* 3.瀏覽器發(fā)送Cookie到服務(wù)器
*/
Cookie[] cookies = request.getCookies();
if(cookies!=null){
for(Cookie c:cookies){
String name = c.getName();
String value = c.getValue();
System.out.println(name+"="+value);
}
}else{
System.out.println("沒有Cookie信息");
}
**運行結(jié)果: