在伺服器上,通過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