Java 是否有一个“问题”;“Spring3MVC方式”;要收听结束会话事件吗?
我想在用户会话结束时删除一些临时文件。与文件关联的信息存储在一个对象中,该对象用Java 是否有一个“问题”;“Spring3MVC方式”;要收听结束会话事件吗?,java,spring,session,servlets,spring-mvc,Java,Spring,Session,Servlets,Spring Mvc,我想在用户会话结束时删除一些临时文件。与文件关联的信息存储在一个对象中,该对象用@SessionAttributes注释 我发现处理这个问题的唯一方法是创建一个HttpSessionListener 是否有一种更高级、更简化、更灵活的方式来侦听会话结束事件,以便轻松获取带注释的对象?您很可能需要创建一个HttpSessionListener 另一个答案是: 关于如何将SpringBean加载到其中的另一个示例: 没有直接关系,但可能是一个有趣的项目 会话删除通常发生在服务器端,当会话过期时(
@SessionAttributes
注释
我发现处理这个问题的唯一方法是创建一个HttpSessionListener
是否有一种更高级、更简化、更灵活的方式来侦听会话结束事件,以便轻松获取带注释的对象?您很可能需要创建一个HttpSessionListener 另一个答案是: 关于如何将SpringBean加载到其中的另一个示例:
没有直接关系,但可能是一个有趣的项目
会话删除通常发生在服务器端,当会话过期时(通常为30mn)。上面的项目允许在前端检测用户行为。使用SpringBeans的两个选项
HttpSessionListener
:
第一种方法是使用webapplicationcontextils.getRequiredApplicationContext(servletContext)
获取servlet上下文。在此基础上,您有两个子选项:
- 使用
getBean(…)
- 如果要使用
/@Autowired
请使用@Inject
。您只需执行一次(检查字段是否为getAutowiredCapablyBeanFactory().autowireBean(this)
),因为侦听器是单例的null
第二个选项是在侦听器上使用。如果用户注销,您可以对该事件进行操作。如果用户只是走神了,
HttpSessionListener
是唯一的选择。我研究这个话题已经有一段时间了。你知道我在哪里可以找到这个完整的例子吗。提前感谢我不知道,但我认为上面的片段应该足够了:)