【问题标题】:Do we have page scope in spring3?我们在 spring3 中有页面范围吗?
【发布时间】:2013-01-03 14:19:02
【问题描述】:

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

所以为了避免这种情况我想在页面范围内存储数据,这样每个页面数据就不会在会话中混合?是直接在 spring 中可用还是我需要编写自己的对话逻辑和页面范围?

【问题讨论】:

标签: java spring scope spring-3


【解决方案1】:

在 Spring 中,您有以下范围:

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

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

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

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

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

spring3中是否有page scope的概念?

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

参考Spring Documentation

【讨论】:

    猜你喜欢
    • 2019-09-30
    • 1970-01-01
    • 2011-08-30
    • 2021-12-09
    • 2015-09-20
    • 1970-01-01
    • 1970-01-01
    • 2018-03-17
    • 2012-12-15
    相关资源
    最近更新 更多