乙個判斷session是否過期的小技巧

2021-04-26 20:05:36 字數 932 閱讀 3115

提到怎麼判斷session是否過期。

接觸jsp已經很久了,但是還真沒有想過這個問題,當時也就沒有找到乙個滿意的答案給人家。

當時,我提到乙個方法,就是實現httpsessionlistener介面,然後在sessiondestroyed()方法中執行一些操作,表示session要過期了,因為這個方法是session.invalidate()之前***呼叫的方法。這個判斷的方法顯然不能讓人滿意。

正好偶然間看到,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!");

可能大家注意到我上面有乙個「近似地」字眼,也就是說存在特別情況。

這個特殊情況就是第一次請求還沒有建立會話的時候,那麼用這個方法返回的仍然是null,原因我想大家應該是顯然的。

判斷session是否過期

request.getseesion boolean 這個裡面傳了乙個boolean值,這個值如果是true,那麼如果當前的request的session不可用,那麼就建立新的會話,如果存在就返回當前的會話。如果引數是false,那麼在request的當前會話不存在的時候就返回null。這樣就可以很...

判斷session是否過期

前一段時間有好幾個問題,提到怎麼判斷session是否過期。接觸jspo已經很久了,但是還真沒有想過這個問題,當時也就沒有找到乙個滿意的答案給人家。當時,我提到乙個方法,就是實現httpsessionlistener介面,然後在sessiondestroyed 方法中執行一些操作,表示session...

乙個判斷session是否過期的小技巧

前一段時間有好幾個問題,提到怎麼判斷session是否過期。接觸jspo已經很久了,但是還真沒有想過這個問題,當時也就沒有找到乙個滿意的答案給人家。當時,我提到乙個方法,就是實現httpsessionlistener介面,然後在sessiondestroyed 方法中執行一些操作,表示session...