Session技術是將數據存儲在服務器端的技術,會爲每一個客戶端都建立一塊內存空間存儲客戶的數據,但客戶端須要每次都攜帶一個標識ID去服務器中尋找屬於本身的內存空間。因此說Session的實現是基於Cookie,Session須要藉助於Cookie存儲客 戶的惟一性標識JSESSIONID。web
HttpSession session = request.getSession();
此方法會得到專屬於當前會話的Session對象,若是服務器端沒有該會話的Session 對象會建立一個新的Session返回,若是已經有了屬於該會話的Session直接將已有 的Session返回(實質就是根據JSESSIONID判斷該客戶端是否在服務器上已經存在 session了)瀏覽器
Session也是存儲數據的區域對象,因此session對象也具備以下三個方法:服務器
session.setAttribute(String name,Object obj);
session.getAttribute(String name);
session.removeAttribute(String name);
HttpSession session = request.getSession();
System.out.println(session.getCreationTime()); //建立時間 System.out.println(session.getLastAccessedTime());//最後一次訪問session的時間 System.out.println(session.getId() );//得到sessionID System.out.println(session.getMaxInactiveInterval());//得到最大存活時間
//setMaxInactiveInterval(int interval)
//invalidate 當即銷燬session
System.out.println(session.isNew());//查看當前得到的session是不是新的.只有在第一訪問服務器,session是新的.
session.invalidate();session
建立:第一次執行request.getSession()時建立spa
銷燬:code
從不操做服務器端的資源開始計時,能夠在工程的web.xml中進行配置xml
<session-config> <session-timeout>30</session-timeout> </session-config>
session.invalidate();
默認在一次會話中,也就是說在,一次會話中任何資源公用一個session對象。對象
沒有,存在於瀏覽器上的惟一標識符JSESSIONID(sessionid)消失了,可是服務器中存放的sessionid並無立馬銷燬。blog