Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.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 在会话超时之前备份会话对象?_Java_Spring_Hibernate_Session_Web - Fatal编程技术网

Java 在会话超时之前备份会话对象?

Java 在会话超时之前备份会话对象?,java,spring,hibernate,session,web,Java,Spring,Hibernate,Session,Web,我有一个使用spring/hibernate的web应用程序。我有一个要求。我在会议中保留了一些信息。在会话超时之前,我需要恢复所有会话对象,并且在创建新会话后再次将会话对象放回会话中。一旦会话超时,用户将显示登录页面,一旦用户登录,我需要从备份中获取已登录用户的存储会话信息并保留在会话中 实现HttpSessionListener所需的上述两项功能。在一段时间内,我如何备份所有登录用户的所有会话对象。一旦创建了新会话,我需要再次从备份中获取登录用户的会话对象并保留在会话中。请给我建议一下方法

我有一个使用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
方法中,您可以从数据库中检索该用户的值

参考资料: