jsp和java bean

时间:2012-09-20 03:25:39

标签: jsp javabeans race-condition stateless

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

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

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

2 个答案:

答案 0 :(得分:3)

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

  

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

默认无状态。

  

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

这取决于您使用的代码

  

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

除非您使用应用程序范围创建 bean


关于JavaBeansJSP

答案 1 :(得分:0)

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

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