【问题标题】:Session attribute being accessed by another session另一个会话正在访问会话属性
【发布时间】:2013-10-24 05:49:47
【问题描述】:

在 jsp 页面上,访问属性,例如: List = (List)request.getAttribute("object");

我们在具有独立会话的服务器上有多个用户。 不时地,我们注意到 UserA 正在查看 UserB 的请求属性。

示例: UserA 有一个请求属性“对象”集,其中包含 3 个元素: 一个 乙 C

UserB 有一个请求属性“object”集,其中包含 3 个元素: D E F

在会话期间的某个时间点,当 UserA 尝试访问属性“object”时, 返回的元素是: D E F

存储在 UserB 的请求属性中的元素。

有什么想法会发生这种情况吗?

【问题讨论】:

  • 我怀疑你在某些地方有静态状态(可能与会话访问无关)。
  • 看起来你已经在你的 servlet 中声明了属性或使用了static 变量,就像一个持有连接 =\ 的单例对象。

标签: java jsp httpsession


【解决方案1】:

首先

request.getAttribute("object"); 

返回的是请求属性而不是会话属性。 要获取 Session 属性,您需要使用

request.getSession().getAttribute("object");

还要注意在 Servlet 中使用实例变量,它们在请求之间共享。

【讨论】:

  • 是的,我的意思是请求属性。我们两者都用,但在这种情况下,它是一个请求属性
猜你喜欢
  • 1970-01-01
  • 2019-05-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-26
  • 2013-07-03
  • 2011-09-23
  • 1970-01-01
相关资源
最近更新 更多