Spring框架中session和globalSession有什么区别?
<bean id="exampleBean" class="com.test.baen.ExampleBean" scope="session"/>
<bean id="exampleBean" class="com.test.baen.ExampleBean" scope="globalSession"/>
根据我的研究,两者在Web感知Spring ApplicationContext的上下文中都是有效的。
现在,会话bean范围将保持到用户会话,但是globalSession bean范围在整个应用程序中是否可用?
是应用程序范围吗?
我无法理解术语“全局HTTP会话”;它将在整个全球HTTP会话中可用吗?
答案 0 :(得分:96)
globalSession
是连接到Portlet应用程序的东西。当您的应用程序在Portlet容器中工作时,它由一些portlet构建。每个portlet都有自己的会话,但是如果你想为应用程序中的所有portlet存储全局变量,那么你应该将它们存储在globalSession
中。此范围与基于Servlet的应用程序中的session
范围不具有任何特殊效果。
答案 1 :(得分:1)
Session scope 添加了 http 会话的 bean 定义,仅在应用程序上下文中有效。容器将为每个 http 会话创建一个新 bean。 全局会话范围添加了在 portlet 应用程序上下文中使用的全局 http 会话的 bean 定义。