Java 什么';Spring控制器的范围是什么?它';可以配置它吗?
当我在web应用程序中遇到奇怪的行为时,我发现它的会话在每次Java 什么';Spring控制器的范围是什么?它';可以配置它吗?,java,spring,servlets,Java,Spring,Servlets,当我在web应用程序中遇到奇怪的行为时,我发现它的会话在每次HttpSession session=request.getSession()时都会失效并重新创建正在执行。当应用程序调用另一个servlet中构建的Spring控制器时,会发生这种情况 如中所示,会话是ServletContext。所以,我问:Spring控制器是在不同的servlet范围内实现的吗?或者当控制器在不同的servlet中实现时?我们可以将Spring设置为维护单个范围吗?谢谢 编辑: 添加信息:我有一个提示,问题是由
HttpSession session=request.getSession()时都会失效并重新创建代码>正在执行。当应用程序调用另一个servlet中构建的Spring控制器时,会发生这种情况
如中所示,会话是ServletContext。所以,我问:Spring控制器是在不同的servlet范围内实现的吗?或者当控制器在不同的servlet中实现时?我们可以将Spring设置为维护单个范围吗?谢谢
编辑:
添加信息:我有一个提示,问题是由于我正在将页眉和页脚导入页面。90%的情况下,Spring会在不同的会话中处理这些元素,但我还不知道如何纠正这种行为。会话、请求和响应对象不是由Spring创建的。只有控制器是由spring创建的,默认情况下它们是单例(spring应用程序上下文单例,而不是JVM单例)
所以我猜您的会话失效问题发生在spring之外。您有实现HttpSessionListener
的类吗?没有。会话只是失效并重新启动。我正在阅读Tomcat的资源限制,这将是重置会话以恢复它。可能是在Spring之外,但我没有实现它可能发生的地方。