我目前正在阅读Spring in Action第3版,并一直在试验Spring MVC。 一切顺利,直到我试图将我的示例webapp“移植”到无状态的webapp。
为了确定是否创建了会话对象,我在 / * URL映射上放置了一个调试servlet过滤器,它只打印出req.getSession(false)
,然后继续链接。
我尝试更改所有控制器的范围以请求天真,但当然,仍然会在将模型绑定到表单的页面/控制器上创建会话。 我想知道如何实现无状态的Spring MVC?到目前为止,我对这个问题的教程运气不好。
答案 0 :(得分:4)
确保所有JSP都使用
<%@page session="false" %>
否则,只要执行JSP,就会创建一个会话。
答案 1 :(得分:1)
意外会话创建是Spring Security中无效错误报告的最常见来源之一(因此,您在上面的评论中链接到的常见问题解答)。
如果您遇到会话创建问题,Spring Security的debugging filter会很有用。它会在创建会话时自动记录消息,并使用堆栈跟踪来显示它发生的位置。它还提供其他有用的信息,以及标准日志条目的更易读的输出,因此在开发环境中非常有用。如果您正在使用Spring Security的命名空间支持,则只需添加元素
<debug />
到你的配置。