天天看點

JavaEE中的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之後,跳轉的時候,看看浏覽器的位址變化吧^-^

具體内容在我另一篇文章中

http://phl.iteye.com/blog/699574

繼續閱讀