1. 程式人生 > >java登出中的細節

java登出中的細節

remove和invilidate的區別: 

 1、session.invalidate(),這個會使整個客戶端對應的Session失效,裡面的所有東西都會被清空,同時也釋放了資源。
 通過session.removeAttribute方法刪除的是我們傳遞的物件,不會讓整個Session失效。

 java實現登出登入的3種方式區別
1、servlet

HttpServletRequest  request

HttpSession session=request.getSession();

session.removeAttribute("username");

session.invalidate()

2、springmvc

HttpSession session

登入,設定session

session.setAttribute("username", username);

登出,刪除session

request.getSession().removeAttribute("username");

request.getSession().invalidate();

3、struts2

HttpServletRequest request=ServletActionContext.getRequest();

request.getSession().invalidate();

或者

ServletActionContext.getRequest().getSession().removeAttribute("username");

 //false代表:不建立session物件,只是從request中獲取。  
        HttpSession session = request.getSession(false);  
        if(session==null){  
            return;  
        }  
        session.removeAttribute("user");  
        //從定向到index.jsp  
        response.sendRedirect("/session/index.jsp");