Java 当会话超时时,spring控制器@SessionAttribute会发生什么

Java 当会话超时时,spring控制器@SessionAttribute会发生什么,java,spring,spring-mvc,Java,Spring,Spring Mvc,我在controller@SessionAttribute(“sample_dto”)中有一个session属性。即使在会话超时后,我也需要使用示例。如何正确地做到这一点 PS:当会话超时时,浏览器将重定向到登录屏幕。我怎样才能避免它,并将它带回会话超时之前的位置 谢谢根据您的问题,我认为您不需要会话属性。因为您需要访问中间的相同数据项 单独的会议。最简单的解决方案是使用普通实例变量。因为您的控制器在默认情况下是单例的。 它与应用程序作用域类似,因为您不更改控制器的作用域,也不重新启动应用程序

我在controller@SessionAttribute(“sample_dto”)中有一个session属性。即使在会话超时后,我也需要使用示例。如何正确地做到这一点

PS:当会话超时时,浏览器将重定向到登录屏幕。我怎样才能避免它,并将它带回会话超时之前的位置


谢谢

根据您的问题,我认为您不需要会话属性。因为您需要访问中间的相同数据项 单独的会议。最简单的解决方案是使用普通实例变量。因为您的控制器在默认情况下是单例的。 它与应用程序作用域类似,因为您不更改控制器的作用域,也不重新启动应用程序

如果此任务是特定于用户的(您的数据项应按用户保留),则可以使用cookies保存临时用户状态。 为了设置cookie,您可以实现自己的HttpSessionListener类,并且在sessionDestroyed方法中,您可以保存cookie。 因为只有在会话被破坏(超时)时才需要执行此操作


如果您的数据大得多,那么您可以通过引用相关用户将数据保存在数据库中。您可以使用相同的sessionDestroyed方法。

当您询问由代码引起的问题时,如果您提供人们可以用来重现问题的代码,您将获得更好的答案(最低工作示例)