我们在spring3中有页面范围吗?

时间:2013-01-03 06:01:01

标签: java spring scope spring-3

我们在spring3中有页面范围的概念吗? 假设用户打开多个选项卡然后如果数据存储在会话中,那么在某些情况下可能会出错。想象一下,用户将在浏览器中打开两个选项卡。在这两个标签中,他正在同一页面上工作,这样他就可以更快地完成工作。因此,如果从会话中引用某些数据,那么在这种情况下,应用程序可以达到错误状态。

为了避免这种情况,我想在页面范围内存储数据,以便每个页面数据不会在会话中混合?它是在春天直接提供还是我需要编写自己的会话逻辑和页面范围?

1 个答案:

答案 0 :(得分:1)

在Spring中,您有以下范围:

  • singleton - (默认)根据Spring IoC容器将单个bean定义范围限定为单个对象实例。

  • prototype - 将单个bean定义范围限定为任意数量的对象实例。

  • request - 将单个bean定义范围限定为单个HTTP请求的生命周期;也就是说,每个HTTP请求都有自己的bean实例,它是在单个bean定义的后面创建的。仅在Web感知Spring ApplicationContext的上下文中有效。

  • session - 将单个bean定义范围限定为HTTP会话的生命周期。仅在Web感知Spring ApplicationContext的上下文中有效。

  • 全局会话 - 将单个bean定义范围限定为全局HTTP会话的生命周期。通常仅在portlet上下文中使用时有效。仅在Web感知Spring ApplicationContext的上下文中有效。

  

我们在spring3中有页面范围的概念吗?

- >在Spring中,您没有页面范围,但您可以将特定bean配置为使用请求范围。

参考Spring Documentation