首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Spring-MVC中存储Session对象

如何在Spring-MVC中存储Session对象
EN

Stack Overflow用户
提问于 2018-05-13 11:03:11
回答 2查看 1.8K关注 0票数 1

如何在http会话中跨页面存储会话对象(重对象),而不在不同并发会话之间共享会话对象(每个会话的新对象)?

EN

回答 2

Stack Overflow用户

发布于 2018-05-13 13:00:04

默认情况下,如果在@*映射方法(在控制器中)中将HttpSession作为参数传递,您将自动获得对当前会话的访问权限。

代码语言:javascript
运行
复制
@RequestMapping(...)
public String someMethod(HttpSession session) {
    // you have access to the session here
}

您可以使用HttpSession.setAttribute(String, Object)将对象存储在会话中

但是如果你想访问所有的会话,因为每个会话都会自动创建一个线程,所以你必须将它存储在一个静态变量中。在本例中,我假设映射就是您要查找的内容,这样您就可以通过会话id来标识会话:

代码语言:javascript
运行
复制
static Map<String, HttpSession> connectedUsers;

使用会话id (HttpSession.getId())作为键,使用HttpSession作为值,您应该能够自由地访问不同的会话。

票数 1
EN

Stack Overflow用户

发布于 2018-05-13 13:05:59

在spring应用程序上下文中保存会话对象

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50312379

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档