我正在构建托管在tomcat上的jsp页面,我想知道每个jsp中引用的bean实例是无状态/有状态的吗?这些bean实例是如何产生的?每次访问页面时是否(重新)创建它们?我是否需要担心两个不同的用户同时访问同一个页面并获取相同的bean实例?
总的来说,我发现jsp和bean之间的交互很混乱,所以如果有人可以参考这些概念的教程/解释,我会很感激。谢谢!
P.S。 bean类中的静态字段怎么样?这些值是否默认具有应用范围?
答案 0 :(得分:3)
bean 是普通对象Java对象, bean 开发背后的目的是存储/保存数据。
如果每个jsp中引用的bean实例都是无状态/有状态的吗?
默认无状态。
那些bean实例是如何产生的?每次访问页面时是否(重新)创建它们?
这取决于您使用的代码。
我是否需要担心两个不同的用户同时访问同一个页面并获取相同的bean实例?
除非您使用应用程序范围创建 bean 。
答案 1 :(得分:0)
bean的生命周期取决于开发人员选择使用的开发人员或框架。如果您考虑多个页面(甚至同一页面)的请求,除非在创建类的实例并将其存储在某个地方之后,它将是无状态的。这就是Java EE会话管理到位的地方,所以如果你想要有状态行为,你可以创建一个bean实例并将其“持久化”到会话中。
如果您坚持使用会话,则不必担心多个用户访问应用程序,因为会话对每个用户都是唯一的,并且Java EE会尝试确保这一点。