0

在 Web 应用程序中遇到奇怪的行为时,我发现它的会话在每次HttpSession session = request.getSession();执行时都被无效并重新创建。它是在应用程序调用另一个 servlet 中构建的 Spring 控制器时特别发生的。

HttpSession javadoc中所示,会话是 ServletContext。所以,我问:Spring 控制器是在不同的 servlet 范围内实现的吗?或者只是当控制器在不同的 servlet 中实现时?我们可以将 Spring 设置为维护单个范围吗?谢谢!

编辑:添加信息:我有一个提示,问题是由于我将页眉和页脚导入页面。90% 的确定是 Spring 在不同会话中处理的那些元素,但我不知道如何纠正这种行为(目前)。

4

1 回答 1

0

会话、请求和响应对象不是由 spring 创建的。只有控制器是由 spring 创建的,并且默认情况下它们是单例(spring 应用程序上下文单例,而不是 JVM 单例)。

所以我猜你的会话失效问题发生在春天之外。

于 2013-09-16T15:25:34.700 回答