session就是一個全域變數,是瀏覽器線程在伺服器端的代理。web服務程式只要開啟,session就會存在,當你第一次訪問時,session會自動為你分配一個session ID,所以session為建立立的,所以session.isNew()為true。當你重新整理頁面時,這個session ID一直存在(session.getId()不變),不會消失,所以session.isNew()為false。除非你關閉你要訪問的web網站,或則關閉session(session.invalidate()),這個session ID才會消失(session.getId()變了),isNew()為true。
兩個方法 session.isNew() 判斷是否是一個新session
session.getId() 得到這個session id
當關閉所有的瀏覽器,再重新登入的時候session.isNew()才會是true
當每次都新開啟一個瀏覽器用不同的使用者登入,session.isNew() 是為false。session.getId()是不變的,。
即:session id相當是開啟一個瀏覽器進程(不是線程)時web伺服器為本瀏覽器進程分配的id
常用方法:
long create_time = session.getCreationTime(); //session建立時間
long access_time = session.getLastAccessedTime();//session最後訪問時間
//列印session裡面的attribute值
Enumeration elements = session.getAttributeNames();
while (elements.hasMoreElements()) {
String id = (String)elements.nextElement();
}
response.setHeader("Refresh","5;url=/session_filter_listener/index.jsp");//每5秒鐘重新整理,然後定位到index.jsp