在JSF中有类似ServletContextListener的东西吗?

Ram*_*nov 3 jsf shutdown startup listener

我想听一下如果ServletContextListener在一个普通的Servlet Web应用程序中尽可能地启动或停止JSF应用程序.我怎样才能做到这一点?

Bal*_*usC 5

您可以使用一个热切初始化的,并分别使用和注释所需的启动/关闭钩子方法.@ApplicationScoped @ManagedBean@PostConstruct@PreDestroy

所以:

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

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

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

}
Run Code Online (Sandbox Code Playgroud)

请注意,这并不能意味着你不能使用ServletContextListener在JSF Web应用程序.JSF建立在Servlet API之上,因此意味着您可以继续使用它.使用新的Servlet 3.0 @WebListener注释,还可以配置它而无需web.xml:

@WebListener
public class Config implements ServletContextListener {

    @Override
    public void contextInitialized(ServletContextEvent event) {
        // ...
    }

    @Override
    public void contextDestroyed(ServletContextEvent event) {
        // ...
    }

}
Run Code Online (Sandbox Code Playgroud)