Spring MVC会话管理

时间:2013-06-27 21:55:24

标签: spring-mvc tomcat7

我有一个简单的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服务器它是否会被删除?

提前致谢, 埃拉德。 我编辑了原来的问题,这个问题不太清楚。遗憾。

1 个答案:

答案 0 :(得分:0)

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

这会禁用会话持久性。真的没想到这是默认情况下的工作方式。无论如何,谢谢你。