javaee中的session的理解,你是怎麼用session的?

在服務器上,通過Session來區分每一個上網用戶

用戶只要一連接到服務器,則立刻分配一個Session給用戶

Session主要方法:
1 服務器上通過Session來分別不同的用戶-->Session ID
任何連接到服務器上的用戶,服務器都會位之分配唯一的一個不會重複的Session ID
Session ID是由服務器統一管理的,人爲不能控制
方法:session.getID();
長度:32

2 判斷是否是新的Session
public boolean isNew();
判斷當前的Session是否是新建立的Session

3 Session的屬性設置
設置屬性:public void setAttribute(String name,Object value)
取得屬性:public Object getAttribute(String name)
刪除屬性:pbulic void removeAttribute(String name)
4 登陸驗證
通過Session能夠對用戶是否登陸做出驗證
public void putValue(String name,Object)-->setAttribute
public Object getValue(String name)-->getAttribute
public removeValue(String name)-->removeAttribute
此三個方法已經過時,不建議再使用

註銷用戶:讓用戶的Session失效
如果Session失效,則在Session所保留的全部操作也會消失
public void invalidate()使Session失效(手工)
如果Session長時間不被使用,則也會自動失效
5 得到Session的創建時間
public long getCreationTime()
此方法返回long類型,通過new Date()可以取得一個完成時間
取得用戶最後操作的時間:public long getLastAccessedTime();

6 總結
Session將信息保存在服務器上,而Cookie保存在客戶端上
Session比Cookie更安全,Session比Cookie更佔資源
開發原則:Session要儘量少用--儘量少向Session中保存信息
session使用了Cookie的機制,如果Cookie被禁用,則Session也無法使用,因爲客戶端的session ID以cookie形式,保存在了客戶端的內存當中,這個時候我們可以通過url重寫,來保證session的有效性.

重寫url的方法如下

resp.encodeURL(request.getRequestURL().toString());

重寫完URL之後,跳轉的時候,看看瀏覽器的地址變化吧^-^


=====================================


在Java Servlet API中引入session機制來跟蹤客戶的狀態。session指的是在一段時間內,單個客戶與Web服務器的一連串相關的交互過程。在一個session中,客戶可能會多次請求同一個網頁,也有可能請求訪問各種不同的服務器資源。例如在電子郵件應用中,從一個客戶登錄到電子郵件系統開始,經過收信,寫信,和發信等,直至退出郵件系統,整個過程爲一個session。再比如,在網上書店應用中,從一個客戶開始購物,到最後結賬,整個過程爲一個session。
會話的創建:HttpSession session = request.getSession(boolean value);
HttpSession session = request.getSession();
會話的使用:javax.servlet.http.HttpSession接口中定義的方法,我們常用的是有關進行數據存取的方法。
session.setAttribute(String name , Object value);
session.getAttribute(String name);


轉載地址:http://www.cnblogs.com/Laupaul/archive/2012/03/02/2376986.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章