假设,使用用户名=“ABC”的登录,
在会话中设置一些数据如下: session.setAttribute("mydata", mydata);
如果当前会话过期,用户将被重定向到登录页面。
现在,如果用户再次使用相同的用户名(“ABC”)登录,
我们可以检索上一个会话的属性,以便用户可以继续他的工作吗?
请建议我检索上一届会议数据的可能解决方案。谢谢你。
假设,使用用户名=“ABC”的登录,
在会话中设置一些数据如下: session.setAttribute("mydata", mydata);
如果当前会话过期,用户将被重定向到登录页面。
现在,如果用户再次使用相同的用户名(“ABC”)登录,
我们可以检索上一个会话的属性,以便用户可以继续他的工作吗?
请建议我检索上一届会议数据的可能解决方案。谢谢你。
我不相信这是可能的。但是,您始终可以创建一个信号量,您的应用程序可以在用户登录时对其进行检查,如果已经有一个现有的用户会话正在运行,则使会话无效。
如果您在非集群环境中运行,此信号量可以像 Java 静态变量一样简单,或者更好的方法是在数据库表中设置标志,尤其是在集群环境中运行时。
您可以在会话属性过期之前将它们保存到数据库,然后在用户再次登录时将它们添加回新会话。
不可能,当会话到期时,它包含的所有内容都已失效。这是由容器控制的。