Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在已部署的系统中使用session.setAttribute_Java_Session - Fatal编程技术网

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

Java 在已部署的系统中使用session.setAttribute,java,session,Java,Session,我有一个使用链接http://192.168.2.6:8484/DTR登录后,它通过session.setAttribute(“user”,user)存储用户信息但是,当另一个用户登录时,它会在再次调用session.setAttribute(“user”,user)时覆盖第一个用户的信息。那么,我如何才能真正保存用户的信息,以便两个以上的人可以同时访问系统 这就是目前正在发生的情况: 我有两个网站是开放的 我首先登录网站(用户名:user1)。显示Hello,user1 我登录到第二个网站(用

我有一个使用链接
http://192.168.2.6:8484/DTR
登录后,它通过
session.setAttribute(“user”,user)存储用户信息
但是,当另一个用户登录时,它会在再次调用
session.setAttribute(“user”,user)时覆盖第一个用户的信息。那么,我如何才能真正保存用户的信息,以便两个以上的人可以同时访问系统

这就是目前正在发生的情况:

我有两个网站是开放的

  • 我首先登录
    网站(用户名:user1)。显示
    Hello,user1
  • 我登录到
    第二个
    网站(用户名:user2)。显示
    Hello,user2
  • 我首先刷新
    网站。现在将显示
    Hello,user2

  • 那么,如何才能让多个用户访问该网站呢?

    首先获取用户属性,如果该属性不存在并且会话是新的,则将其设置

    user = session.getAttribute("user");
    
    if (user == null&& session.isNew())
       session.setAttribute("user", user);
    

    另外,请检查您是否为不同的用户会话获得不同的会话。getId()。。。如果不是,则可能是JSESSIONID cookie的问题。servletcontainer在HTTP响应的set Cookie标头中设置了一个Cookie,其中JSESSIONID作为Cookie名称,唯一会话ID作为Cookie值。

    如评论中所述,原因是用户都是从同一浏览器和同一系统登录的。因此JSSessionID是相同的,因此属性被覆盖


    解决方案:尝试使用不同的浏览器

    ,但仍然只保存一个用户标识,对吗?@nubteens正确,因为每个用户都有自己的会话对象。用户是否从同一系统和同一浏览器登录?是,相同的系统和相同的浏览器如果它是相同的浏览器,则它不能是不同的用户,即两者都具有相同的JSESSIONID,因此会话集属性将被覆盖。尝试不同的方法browser@nubteens如果不可能,请尝试使用不同的浏览器