無憂無鹵

          鳥在籠中,恨關羽不能張飛;人處世上,要八戒更需悟空

          一個判斷session是否過期的小技巧[轉csdn]

          前一段時間有好幾個問題,提到怎么判斷session是否過期。  
            接觸jspo已經很久了,但是還真沒有想過這個問題,當時也就沒有找到一個滿意的答案給人家。  
            當時,我提到一個方法,就是實現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,原因我想大家應該是顯然的。  
             
            以上是個人拙見,希望大家指正。
          原文:http://topic.csdn.net/t/20050225/08/3804877.html

          posted on 2008-07-27 22:44 beyond 閱讀(327) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          導航

          <2008年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          統計

          常用鏈接

          留言簿(1)

          隨筆檔案

          相冊

          搜索

          最新評論

          • 1.?re: 近期任務
          • 大哥 等著你的drools5翻譯呢 drools4把我搞死了 如果你有關于drools4的心得的話請指教 感覺自己使用的不是很好 望賜教 QQ:53816565 謝謝
          • --sunnidy
          • 2.?re: Mysql遷移到Oracle
          • 不錯,看樣子支持大多數數據庫遷移到oracle,不知道是否支持從oracle轉出?
          • --FastUnit

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 河源市| 酒泉市| 鲜城| 河津市| 天柱县| 长春市| 白朗县| 黔东| 建始县| 金阳县| 饶阳县| 卢湾区| 滨州市| 宣城市| 广宗县| 江城| 宁陕县| 株洲市| 巴塘县| 商河县| 大厂| 巫溪县| 静安区| 韩城市| 蚌埠市| 盈江县| 郧西县| 昌黎县| 榕江县| 景宁| 石首市| 商南县| 土默特右旗| 丽水市| 平昌县| 南川市| 若尔盖县| 江孜县| 达孜县| 中江县| 汨罗市|