[英]Using session.setAttribute in a deployed system
我有一個使用鏈接http://192.168.2.6:8484/DTR
部署的系統,登錄后,它通過session.setAttribute("user", user);
存儲用戶信息session.setAttribute("user", user);
但是,當另一個用戶登錄時,它將再次調用session.setAttribute("user", user);
覆蓋第一個用戶的信息session.setAttribute("user", user);
。 那么,如何真正保存用戶的信息,以便兩個以上的人可以同時訪問系統?
這是當前正在發生的事情:
我有兩個開放的網站。
first
網站(用戶名:user1)。 顯示Hello, user1
second
網站(用戶名:user2)。 顯示Hello, user2
first
網站。 現在它將顯示用戶2 Hello, user2
那么如何使多個用戶訪問該網站?
您首先要獲取用戶屬性,如果不存在並且會話是新的,請對其進行設置
user = session.getAttribute("user");
if (user == null&& session.isNew())
session.setAttribute("user", user);
另外,請檢查您是否為不同的用戶獲得不同的會話session.getId()...如果不是,則可能是JSESSIONID cookie問題。 servlet容器在HTTP響應的Set-Cookie標頭中設置一個Cookie,其中JSESSIONID作為cookie名稱,而唯一會話ID作為cookie值。
如評論中所述,原因是兩個用戶都從相同的瀏覽器和相同的系統登錄。 因此,JSessionId相同,因此屬性被覆蓋。
解決方案 :嘗試使用其他瀏覽器
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.