无状态Spring MVC

时间:2012-01-01 17:29:35

标签: spring spring-mvc

我目前正在阅读Spring in Action第3版,并一直在试验Spring MVC。 一切顺利,直到我试图将我的示例webapp“移植”到无状态的webapp。

为了确定是否创建了会话对象,我在 / * URL映射上放置了一个调试servlet过滤器,它只打印出req.getSession(false),然后继续链接。

我尝试更改所有控制器的范围以请求天真,但当然,仍然会在将模型绑定到表单的页面/控制器上创建会话。 我想知道如何实现无状态的Spring MVC?到目前为止,我对这个问题的教程运气不好。

2 个答案:

答案 0 :(得分:4)

确保所有JSP都使用

<%@page session="false" %>

否则,只要执行JSP,就会创建一个会话。

答案 1 :(得分:1)

意外会话创建是Spring Security中无效错误报告的最常见来源之一(因此,您在上面的评论中链接到的常见问题解答)。

如果您遇到会话创建问题,Spring Security的debugging filter会很有用。它会在创建会话时自动记录消息,并使用堆栈跟踪来显示它发生的位置。它还提供其他有用的信息,以及标准日志条目的更易读的输出,因此在开发环境中非常有用。如果您正在使用Spring Security的命名空间支持,则只需添加元素

<debug />

到你的配置。