Deployment JSF应用程序部署时函数调用

Deployment JSF应用程序部署时函数调用,deployment,jsf,Deployment,Jsf,在JSP中,我常常将东西放在bean的构造函数中,该构造函数位于应用范围内, 同样地 我想在部署应用程序时加载一个函数,并将其放置在其中 我试着加入listener,但@那一次我没有得到faces配置的注入 那么有什么出路吗?听起来有点怀疑听众没有为你工作。它本该起作用的。我假设发生的是,您期望您的请求范围bean在请求/响应周期之外注入它们的依赖项。这不会发生的 因此,您最好执行以下操作之一: 将@PostConstruct注释放在每个bean上并初始化它 注册一个ServletReques

在JSP中,我常常将东西放在bean的构造函数中,该构造函数位于应用范围内, 同样地 我想在部署应用程序时加载一个函数,并将其放置在其中

我试着加入listener,但@那一次我没有得到faces配置的注入


那么有什么出路吗?

听起来有点怀疑听众没有为你工作。它本该起作用的。我假设发生的是,您期望您的请求范围bean在请求/响应周期之外注入它们的依赖项。这不会发生的

因此,您最好执行以下操作之一:

  • @PostConstruct
    注释放在每个bean上并初始化它
  • 注册一个
    ServletRequestListener
    ,每个请求都会触发它
如果您希望托管bean在应用程序范围内初始化某些内容(顺便说一句,这是什么内容):

  • 使用作用域
    应用程序
  • @PostConstruct
  • 顺便说一句,将JSP初始化代码放入构造函数是错误的。它应该在
    init(..)
    方法中。(实际上,根本不应该在JSP中)


    或者,您可以使用
    PhaseListener
    (在
    faces config.xml
    中),在这里惰性地加载应用程序设置。

    我需要在JSF 1.2中这样做,这不适用于1.2,我还需要初始化contextyeah,但它会破坏我的拱门,我只能在JSF 1.2中这样做,具有应用程序作用域的bean是在第一次使用时构造的。不是在部署时,所以我无法使用给定的2个选项来实现这一点。是否有类似listner的东西可以侦听bean初始化事件实际上有什么区别?是在部署时还是在首次访问时?正如我所说的,Servlet侦听器很好。你可能误用了它。没有。。在部署时,我没有得到完全初始化的上下文,我需要在该上下文上调用method..whichbean。在什么范围内。编辑您的问题,添加所有必要的详细信息。如果你这么含糊,我帮不了你。