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);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM