- Session的常用方法
session對象主要用於屬性操作和會話管理,常用方法如下:
1、public void setAttribute(String name,String value)設定指定名字的屬性的值,並將它添加到session會話范圍內,如果這個屬性是會話范圍內存在,則更改該屬性的值。
2、public Object getAttribute(String name)在會話范圍內獲取指定名字的屬性的值,返回值類型為object,如果該屬性不存在,則返回null。
3、public void removeAttribute(String name),刪除指定名字的session屬性,若該屬性不存在,則出現異常。
4、public void invalidate(),使session失效。可以立即使當前會話失效,原來會話中存儲的所有對象都不能再被訪問。
5、public String getId( ),獲取當前的會話ID。每個會話在服務器端都存在一個唯一的標示sessionID,session對象發送到瀏覽器的唯一數據就是sessionID,它一般存儲在cookie中。
6、public void setMaxInactiveInterval(int interval) 設置會話的最大持續時間,單位是秒,負數表明會話永不失效。
7、public int getMaxInActiveInterval(),獲取會話的最大持續時間,使用時候需要一些處理
session的工作原理:
1、客戶首次訪問服務器的一個頁面時,服務器就會為該用戶分配一個session對象,同時為這個session指定唯一的ID,並且將該ID發送到客戶端並寫入到cookie中,使得客戶端與服務器的session建立一一對應的關系;
2、當客戶端繼續訪問服務器端的其它資源時,服務器不再為該客戶分配新的session對象,直到客戶端瀏覽器關閉、超時或調用session的invalidate()方法使其失效,客戶端與服務器的會話結束。
3、當客戶重新打開瀏覽器訪問網站時,服務器會重新為客戶分配一個session對象,並重新分配sessionID。
用途
1:Session可以保存用戶的信息和實現購物車等功能。(待完善)