session一直是我們做web專案經常使用的,以前沒太注意,這次又細緻的看了下!
1.session其實就是乙個map,鍵=值對,通過session.getattribute("name");獲得session中設定的引數
2.session的過期時間是從什麼時候開始計算的?是從一登入就開始計算還是說從停止活動開始計算?
答:從session不活動的時候開始計算,如果session一直活動,session就總不會過期。
從該session未被訪問,開始計時; 一旦session被訪問,計時清0;
3.設定session的失效時間
a)web.xml中
30b)在程式中手動設定
session.setmaxinactiveinterval(30 * 60);//設定單位為秒,設定為-1永不過期
c)tomcat也可以修改session過期時間,在server.xml中定義context時採用如下定義:
4.如何判斷session過沒過期1.以前是根據 if(session.getattribute('user')==null)判斷是否為空
2.如下為看到的乙個帖子,判斷session不為空的好方法:
request.getseesion(boolean)方法,一下子讓我恍然大悟。這個方法裡面傳了乙個boolean值,這個值如果是true,那麼如果當前的request的session不可用,那麼就建立新的會話,如果存在就返回當前的會話。如果引數是false,那麼在request的當前會話不存在的時候就返回null。
這樣我們就可以很容易的聯想到這個所謂的request的當前會話是否存在和session過期的聯絡,所以我們就可以「近似地」認為session不存在就是session過期了,那麼我們就可以很容易地判斷session是否過期了。方法如下:
if(request.getsession(false)==null)
system.out.println("session has been invalidated!");
else
system.out.println("session is active!");
判斷session是否過期
request.getseesion boolean 這個裡面傳了乙個boolean值,這個值如果是true,那麼如果當前的request的session不可用,那麼就建立新的會話,如果存在就返回當前的會話。如果引數是false,那麼在request的當前會話不存在的時候就返回null。這樣就可以很...
判斷session是否過期
前一段時間有好幾個問題,提到怎麼判斷session是否過期。接觸jspo已經很久了,但是還真沒有想過這個問題,當時也就沒有找到乙個滿意的答案給人家。當時,我提到乙個方法,就是實現httpsessionlistener介面,然後在sessiondestroyed 方法中執行一些操作,表示session...
session過期時間
在一般系統登入後,都會設定乙個當前session失效的時間,以確保在使用者沒有使用系統一定時間後,自動退出登入,銷毀session。具體設定很簡單 在主頁面或者公共頁面中加入 session.setmaxinactiveinterval 900 引數900單位是秒,即在沒有活動15分鐘後,sessi...