1.Cookie
cookie:以文件方式保存數據,保存在客戶端,瀏覽器向服務器發送請求時,同時發送了cookie
1.1創建cookie
Cookie cookie = new Cookie(String,String);
1.2添加cookie
response.addCookie(cookie);
需要注意的是重定向之後再添加cookie是無法添加成功的
雖然重定向之後的java語句依然是執行的,但是響應已經發送給了客戶端,這次通話結束
1.3服務器獲取cookie
Cookie[] cookies = request.getCookies();
1.4設置cookie有效期
public void setMaxAge(int expiry)
cookie.setMaxAge(int);//設置的參數單位是秒
2.會話對象Session
1.一個會話就是瀏覽器與服務器之間的一次通話,以不同電腦上的不同瀏覽器爲單位
2.重新打開瀏覽器或不同的瀏覽器算一次新的會話
3.不同的會話有不同的sessionid(唯一的)
4.會話關閉:關閉瀏覽器,但是session對象依然存在瀏覽器上
5.session保存在服務器
6.session對象消失:服務器關閉
語法:
Public void setAttribute(String name, Object value);
//用法:
session.setAttribute("userName", "張三丰");
----------------------------------------------------------------------------------------
Public Object getAttribute(String name);
//用法:
String userName=(String)session.getAttribute("userName");
即使會話斷開,session對象依然存在服務器內存中,影響服務器性能
1.程序主動清除session數據:
- 設置會話失效:
session.invalidate();
- 移除會話屬性:
public void removeAttribute(String name);
2.服務器主動清除長時間[默認30分鐘]沒有再次發出請求的session對象:
設置會話過期時間:
public void setMaxInactiveInterval(int interval);
3.application
application:在整個項目中共享使用數據,儘量不要用這個對象
方法:
public void setAttribute(String name, Object object)
public Object getAttribute(String name)