我有一个简单的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服务器它是否会被删除?
提前致谢, 埃拉德。 我编辑了原来的问题,这个问题不太清楚。遗憾。
答案 0 :(得分:0)
问题解决了。我完全错过了会话管理由Tomcat控制。 解决方案是编辑Tomcat 7 context.xml配置文件并确保它具有以下元素:
这会禁用会话持久性。真的没想到这是默认情况下的工作方式。无论如何,谢谢你。