我在tomcat中使用java servlet。 我保存在散列表中的用戶名和httpsession屬性usrname 我想知道是否有方法知道httpsession是否有效。java httpsession有效嗎?
我想:
try{
String user = httpSession.getAttribute("username")
return "is valid";
}catch(IllegalStateException e){
return "is not valid";
}
TNKS的答案,但我怎麼能如果我不慣於一個「登錄」的用戶從更多的一處連接呢?如果我僅在創建新會話的時候控制,我無法知道他是否連接到另一個會話。
這實際上並沒有什麼幫助,因爲您仍然需要處理(或接受)出現非法StatException的可能性。因爲在檢查和會話獲取之間的微秒內,會話可能失效。 – MJB
我的(也許是不正確的)假設是tomcat在傳遞servlet請求之前看到會話ID,它會檢查它是否超時,如果不重置時間以保持會話存活無論默認會話長度是多少。沒有? –
但是你可以同時有一個註銷請求。多線程,多servlet,還記得嗎? – MJB