spring - SessionStatus object.setComplete() 是否清除所有 session 属性或仅适用于使用它的 Controller ?

标签 spring model-view-controller

我不清楚如果我在 Controller 中使用SessionStatus object.setComplete(),它会清除Web应用程序的所有 session 数据还是仅清除由保存的 session 数据 使用 @SessionAttributes 的特定 Controller ?

最佳答案

SessionStatus#setComplete() JavaDoc 非常清楚该方法的用途:

/**
 * Mark the current handler's session processing as complete, allowing for
 * cleanup of session attributes.
 */

这会清除通过@SessionAttribute注册的当前处理程序的 session 属性。这与servlet的HttpSession#invalidate()完全不同:

/**
 * Invalidates this session then unbinds any objects bound to it. 
 */

这实际上完全破坏了用户 session 。

关于spring - SessionStatus object.setComplete() 是否清除所有 session 属性或仅适用于使用它的 Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17038709/

相关文章:

cocoa - Cocoa NSSortDescriptors 属于模型还是 Controller ?

java - MVC - 当内容类型是自定义的(不是应用程序/json)时接受 JSON

model-view-controller - jqGrid(MVC): wanting to not load grid on page load

objective-c - 以正确的方式实现Model-View-Controller

spring - 如何在 Kotlin 和 Spring 中使用 setter 注入(inject)?

java - 覆盖露天登录

java - Spring 中的自定义 @Unique validator 抛出 Hibernate 断言失败

c# - 无法让我的 MVC 扩展 HtmlHelper 类正常工作(错误 : Try specifying the type arguments explicitly)

java - 使用 hibernate BeanCreationException 配置 ehcache

java - 更新实体(如果已存在)或使用 spring jpa 创建