用戶登錄成功后重新獲取新的Session


          

 

 

 

 

HttpSession session = request.getSession();

            // 用來存儲原sessionde的值
            ConcurrentHashMap concurrentHashMap = new ConcurrentHashMap();

            Enumeration enumeration = session.getAttributeNames();
            // 遍歷enumeration
            while (enumeration.hasMoreElements()) {
                // 獲取session的屬性名稱
                String name = enumeration.nextElement().toString();
                // 根據鍵值取session中的值
                concurrentHashMap.put(name,session.getAttribute(name));
            }

            // 獲取之前舊的session
            HttpSession oldSession = request.getSession(false);
            if (oldSession != null) {
                //廢除掉登陸前的session
                oldSession.invalidate();
            }
            request.getSession(true);
            // 獲取新session
            session = request.getSession();
            // 將原先老session的值存入
            Iterator<Map.Entry<String, String>> it = concurrentHashMap.entrySet().iterator();
            while (it.hasNext()) {
                Map.Entry<String, String> entry = it.next();
                session.setAttribute(entry.getKey(), entry.getValue());
            }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM