Java 在会话超时之前备份会话对象?
我有一个使用spring/hibernate的web应用程序。我有一个要求。我在会议中保留了一些信息。在会话超时之前,我需要恢复所有会话对象,并且在创建新会话后再次将会话对象放回会话中。一旦会话超时,用户将显示登录页面,一旦用户登录,我需要从备份中获取已登录用户的存储会话信息并保留在会话中 实现HttpSessionListener所需的上述两项功能。在一段时间内,我如何备份所有登录用户的所有会话对象。一旦创建了新会话,我需要再次从备份中获取登录用户的会话对象并保留在会话中。请给我建议一下方法Java 在会话超时之前备份会话对象?,java,spring,hibernate,session,web,Java,Spring,Hibernate,Session,Web,我有一个使用spring/hibernate的web应用程序。我有一个要求。我在会议中保留了一些信息。在会话超时之前,我需要恢复所有会话对象,并且在创建新会话后再次将会话对象放回会话中。一旦会话超时,用户将显示登录页面,一旦用户登录,我需要从备份中获取已登录用户的存储会话信息并保留在会话中 实现HttpSessionListener所需的上述两项功能。在一段时间内,我如何备份所有登录用户的所有会话对象。一旦创建了新会话,我需要再次从备份中获取登录用户的会话对象并保留在会话中。请给我建议一下方法
public class MySessionListener implements HttpSessionListener {
@Override
public void sessionCreated(HttpSessionEvent event) {
}
@Override
public void sessionDestroyed(HttpSessionEvent event) {
}
}
我认为你应该把数据存储到数据库中,而不是这样。以这种方式维护数据不是一个好方法。我不知道你的申请要求。但在会话过期后设置和删除属性时设置数据的正确方法
如果应用程序担心安全性,它将创建安全线程。用正确的方法和模式进行良好的编码,而不是以极快的速度完成小事情 Servlet API不会提供列出所有有效会话对象的方法。你必须抓住他们。作为创造者,了解这一点应该不难 对于备份来说,数据库似乎是完美的选择。您可以使用该特定用户的
sessionDestroyed
方法写入数据库。在sessionCreated
方法中,您可以从数据库中检索该用户的值
参考资料: