我知道这个问题被问了很多,但我找不到任何可以帮助我的事情。
我正在使用Java,JSF,EJB,JPA,GlassFish,MySQL。
我使用这些技术开发了带有autentification的网站,但只有一个位置(一次一个会话),如果另一个用户从另一个位置登录,他可以看到第一个用户会话的状态。
现在我需要开发一个带有commom主页和一些commom功能的多用户Web应用程序,但其余的需要依赖于用户依赖于对Web应用程序和数据库的多线程访问。
我需要:
请帮助我理解我要做的事情!
我不会t know how and where to start, I read a lot of articles about this, but it was just bits and pieces and I don
对此有完整的了解。
感谢您的时间,快乐的编码,并保持您在这里所做的出色工作!
答案 0 :(得分:3)
如果其他用户从其他位置登录,则可以看到第一个用户会话的状态。
这是不对的。这个应用程序从一开始就设计得很糟糕。当您将请求和/或会话范围的数据存储在static
变量或应用程序范围中时,可能会发生这种情况。这个不对。请求范围数据应存储在请求范围bean中的非static
变量中。会话范围数据应存储在会话范围bean中的非static
变量中。
换句话说,停止使用static
变量,直到您真正理解其含义并且不会将数据存储在太宽的范围内。