簡體   English   中英

在已部署的系統中使用session.setAttribute

[英]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); 那么,如何真正保存用戶的信息,以便兩個以上的人可以同時訪問系統?

這是當前正在發生的事情:

我有兩個開放的網站。

  1. 我登錄第first網站(用戶名:user1)。 顯示Hello, user1
  2. 我登錄second網站(用戶名:user2)。 顯示Hello, user2
  3. 我刷新了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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM