如何使用jersey(java)初始化休息服务器中的对象?

dlo*_*lez 1 java web-applications jersey

我有一个愚蠢的问题.我有一个java web应用程序和一个休息界面与泽西.我在哪里可以放置初始化代码块?

例如,我有一个单例,方法是"createInstance".一旦其余服务器运行,我该如何执行"createInstance"方法.是否有类似"Main()"的东西来放置初始化的东西?

我在proyects中也有servlet,但是当用户打开网页时它们正在执行.

我想知道是否存在任何放置初始化代码的地方.

dlo*_*lez 6

最后我找到了解决方案:

对于执行初始化代码,我可以创建"ServletContextListener"的实现.

通过这种方式,我这样做:

package foopackage;

...
public class ServletContextClass implements ServletContextListener
{  

    @Override
    public void contextInitialized(ServletContextEvent arg0) 
    {        
            ...     
    }


    @Override
    public void contextDestroyed(ServletContextEvent arg0) 
    {
           ...
    }
}
Run Code Online (Sandbox Code Playgroud)

要在应用程序服务器初始化后使用此侦听器,必须将其放在web.xml中.

 <listener>
     <listener-class>foopackage.ServletContextClass</listener- class>
 </listener>
Run Code Online (Sandbox Code Playgroud)