2013-06-20 60 views
3

我有一個tomcat,java,jsp,servlets的webproject。 如果我註銷我的webproject前端,我想銷燬所有會話。但下面的代碼不起作用。我期望所有的會話都被銷燬,如果我註銷,我必須在正常情況下通過我的用戶和密碼驗證下一步。感謝您的幫助。request.getSession(false).invalidate註銷後無法正常工作

if(lstrAction!=null && lstrAction.equals(ApplicationConstants.LOGOUT)){ 

      HttpSession session = request.getSession(false); 
      if(session != null){ 
       session.invalidate(); 
       session = request.getSession(false); 
      } 

     } 

我有調試我的項目,我發現會議不是空的後最後一行。

+1

會話是否還包含存儲在其中的所有變量? – Uooo

+0

檢查此鏈接:http://stackoverflow.com/questions/3960711/how-can-i-expire-all-my-sessions-in-tomcat – 2013-06-20 11:38:25

+0

'session.getId()'?關鍵的是,在下一個請求中沒有會話。 –

回答

-1

試試這個代碼。它一定適合你。

Cookie c [] = request.getCookies(); if(c == null){response.sendRedirect(「index.jsp」); } else {session.removeAttribute(c [0] .getValue()); response.sendRedirect是( 「index.jsp的」); }

0
session.invalidate(); 
session = request.getSession(false); 

在會話失效後,您將重新分配會話。在這一點上它不會爲空。您需要執行空檢查來查找會話是否爲空。