【问题标题】:jsp and java beansjsp 和 java bean
【发布时间】:2012-09-12 09:50:32
【问题描述】:

我正在构建托管在 tomcat 上的 jsp 页面,我想知道每个 jsp 中引用的 bean 实例是否是无状态/有状态的?这些 bean 实例是如何产生的?每次访问页面时是否(重新)创建它们?我是否需要担心两个不同的用户同时访问同一个页面并获得同一个 bean 实例?

总的来说,我发现 jsp 和 bean 之间的交互非常混乱,所以如果有人可以参考这些概念的教程/解释,我将不胜感激。谢谢!

附: bean 类中的静态字段怎么样?这些值是否默认具有应用范围?

【问题讨论】:

    标签: jsp javabeans race-condition stateless


    【解决方案1】:

    bean 是普通对象 Java 对象,bean 开发背后的目的是存储/持久化数据。

    如果每个jsp中引用的bean实例是无状态/有状态的?

    默认无状态。

    这些 bean 实例是如何产生的?每次访问页面时是否(重新)创建它们?

    这取决于您使用的代码。

    我是否需要担心两个不同的用户同时访问同一个页面并获得同一个 bean 实例?

    除非您创建了一个 application 范围的 bean。


    关于JavaBeans和JSP

    【讨论】:

    • bean 类中的静态字段怎么样?这些值是否默认具有应用范围?
    【解决方案2】:

    bean 的生命周期取决于开发人员或开发人员选择使用的框架。如果您考虑跨多个页面(甚至是同一页面)的请求,除非您创建了一个类的实例并将其存储在某处,否则它将是无状态的。这就是 Java EE 会话管理发挥作用的地方,因此,如果您想要有状态的行为,您可以创建 bean 的一个实例并将其“持久化”到会话中。

    如果您坚持会话,则不必担心多个用户访问应用程序,因为会话对于每个用户来说都是唯一的,Java EE 会尝试确保这一点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-09
      • 1970-01-01
      • 2011-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-21
      相关资源
      最近更新 更多