gpt4 book ai didi

jsf - 如何初始化 Java FacesServlet

转载 作者:行者123 更新时间:2023-12-04 15:59:52 25 4
gpt4 key购买 nike

我需要在 FacesServlet 启动时运行一些代码,但由于 FacesServlet 被声明为最终的,我无法扩展它并覆盖 init() 方法。

特别是,我想在开发和测试期间,在 hibernate 删除并创建数据模型后,将一些数据写入数据库。

有没有办法配置 Faces 来运行某些方法,例如在 faces-config.xml 中?还是最好创建一个单例 bean 来进行初始化?

最佳答案

使用 eagerly initialized application scoped managed bean .

@ManagedBean(eager=true)
@ApplicationScoped
public class App {

@PostConstruct
public void startup() {
// ...
}

@PreDestroy
public void shutdown() {
// ...
}

}

(类名和方法名其实无所谓,随意,看注解)

这保证在 FacesServlet 启动后 构造,因此 FacesContext 将在必要时可用。这与其他答案所建议的 ServletContextListener 相反。

关于jsf - 如何初始化 Java FacesServlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13378221/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com