JSF 托管 Bean 性能

发布于 2024-10-20 11:52:05 字数 146 浏览 6 评论 0原文

我有一个包含多种表单的网页。一个用于登录,另一个用于创建文章,另一个用于提交评论。现在,每个表单都由不同的支持 bean 支持,例如:loggingBean、newCommentBean 等。当生命周期执行时,即使用户仅提交“新评论”表单,它是否也会创建每个 bean 的实例?

I have a web page that has many forms. One for logging in, another for creating an article and another for submitting a comment. Now, each of these forms is backed by a different backing bean for instance: loggingBean, newCommentBean, etc. When the life cycle executes, does it create instances of each of these beans even though the user submitted only the "new comment" form?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

陌上青苔 2024-10-27 11:52:05

这一切都取决于豆子的范围。每个请求都会创建一次请求 bean,但您可能不应该担心创建 bean 的开销,它很小。您通常应该更关心 Bean 停留时间过长(会话 Bean 应该是请求 Bean),这会不必要地耗尽内存。

It all depends on the scope of the beans. Request beans are created once per request but you probably shouldn't worry about the overhead of a bean creation, it's tiny. You should usually be more concerned with beans staying around too long (session beans that should be request beans) which needlessly drains memory.

夜清冷一曲。 2024-10-27 11:52:05

这取决于您如何拥有范围 托管 bean 的定义。

编辑还有渴望您可能会觉得了解一下属性 @ManagedBean(eager = true) 是件好事。

强制应用程序范围的 bean
被实例化并放置在
应用范围尽快
应用程序启动并在任何之前
发出请求后,eager 属性
托管 bean 的值应设置为
正确。

It depends on how you have the scope defined of the managed bean.

EDIT There is also the eager attribute @ManagedBean(eager = true) that you may find good to know.

To force an application-scoped bean to
be instantiated and placed in the
application scope as soon as the
application is started and before any
request is made, the eager attribute
of the managed bean should be set to
true.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文