-3

我有一个简单的 SpringMVC v3.2.2 控制器,它执行以下操作:

@RequestMapping(value = { "/login" }, method = RequestMethod.GET)
    public String login(WebRequest request) {
        request.setAttribute("myattr", "myvalue", SCOPE_SESSION);
}

我正在使用 WebRequest 对象将属性保存在会话范围内。SCOPE_SESSION 是一个整数,表示我想在会话范围内使用它。有关 API 的更多信息在这里: WebRequest API

我假设这意味着我正在添加一些将保存在会话范围内的属性。我认为,在我的测试期间,当服务器重新启动时,会话将被删除,因为我不希望在本地保留任何会话。除非某些默认配置使其保持不变。

出于某种原因,即使在 tomcat 重新启动后会话也不会被删除(我使用的是 Tomcat V7,默认配置),这意味着它由于某种原因被持久化。试图找到更多解释如何禁用它的文档,但找不到。

我错过了什么?如果属性保存在会话范围内,如 API 所述,如果我重新启动 Tomcat 服务器,它是否应该被删除?

在此先感谢,埃拉德。我已经编辑了原始问题,这不是很清楚。对不起。

4

1 回答 1

0

问题解决了。我完全错过了会话​​管理是由 Tomcat 控制的。解决方案是编辑 Tomcat 7 context.xml 配置文件并确保它具有以下元素:

这将永久禁用会话持久性。真的没想到这是默认情况下的工作方式。还是非常感谢。

于 2013-06-28T09:53:56.520 回答