java - 在 Spring 3 MVC 中管理 session

标签 java session spring-mvc

我正在使用 Spring 3 MVC(我对它很陌生......),我需要在用户登录后加载一些数据库信息并保持可用,直到用户注销或关闭网页(我可以每次我需要时查询数据库,但效率不高)。 据我所知,这应该通过 session 管理来完成。我找到了以下用于管理 session 数据的教程:

http://richardchesterwood.blogspot.com.es/2011/03/using-sessions-in-spring-mvc-including.html

您认为这是一个好的起点吗?提到的第三个选项是满足我需要的最佳方法吗? 我什么时候应该填充需要保留在用户 session 中的对象?当用户登录时可以这样做吗?

我还想知道是否可以保留一些所有用户都应该通用的信息(例如对每个用户有效的 session )。

非常感谢!!

最佳答案

我认为该链接不是一个好的起点。它使事情变得过于复杂。通常不需要按照本文中的建议更改 beans 的范围。事实上,为每个请求实例化一个 Controller 是非常低效的。将为每个请求创建一个新的对象实例 - 对于可扩展的高性能网站,我实在想不出比这更糟糕的主意了。

Spring security makes it easy 。只需有一个用户对象,其中包含由您实现用户服务返回的相关数据。

无需更改任何内容的范围,保持简单并使用默认的单例(将使扩展更容易)。如果确实有必要,请使用 session 属性。

关于java - 在 Spring 3 MVC 中管理 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17023091/

相关文章:

java - 如何将自定义版本的 WebDataBinder 注入(inject) Spring 3 MVC?

java - 查找 Maven 插件中主要 Artifact 的路径

java - Flux.onErrorContinue 参数类型

java - 使用 Mockito 模拟 Spring 的 jdbc KeyHolder

session - 在 Gvim 中自动恢复上次 session

asp.net - 我可以访问 global.asax 中的 Session 变量值吗?

java - jvm 字节码中的堆栈映射表是什么?

javascript - session 过期时如何处理 laravel TokenMismatchException

java - 从 Spring 3 迁移到 Spring 4 - org.springframework.scheduling.quartz.CronTriggerBean

java - Spring-Websocket:满足条件时向订阅者发送更新