有没有一种方法可以在J2EE服务器上启动?I';我在用Tomcat

有没有一种方法可以在J2EE服务器上启动?I';我在用Tomcat,tomcat,servlets,event-handling,startup,Tomcat,Servlets,Event Handling,Startup,我试图让一个J2EE服务器主动向另一个服务器注册(读:发送一些消息),而不是作为对某个东西的响应。令人惊讶的是,我发现很少有关于是否有事件和/或类需要扩展的信息或问题,这些信息或问题将为我提供关于“服务器启动”的句柄。我总是可以编写一个脚本,首先部署到服务器,然后用请求提示它,但我更希望有一个更干净的解决方案 谢谢。在contextInitialized()方法中实现并完成此工作 public class Config implements ServletContextListener {

我试图让一个J2EE服务器主动向另一个服务器注册(读:发送一些消息),而不是作为对某个东西的响应。令人惊讶的是,我发现很少有关于是否有事件和/或类需要扩展的信息或问题,这些信息或问题将为我提供关于“服务器启动”的句柄。我总是可以编写一个脚本,首先部署到服务器,然后用请求提示它,但我更希望有一个更干净的解决方案

谢谢。

contextInitialized()
方法中实现并完成此工作

public class Config implements ServletContextListener {

    @Override
    public void contextInitialized(ServletContextEvent event) {
        // Do stuff during server startup.
    }

    @Override
    public void contextDestroyed(ServletContextEvent event) {
        // Do stuff during server shutdown.
    }

}
当您使用Tomcat7时,按如下方式注册它以使其运行

@WebListener
public class Config implements ServletContextListener {
或者在使用Tomcat 6或更旧版本时,请改为在
web.xml
中注册它

<listener>
    <listener-class>com.example.Config</listener-class>
</listener>

com.example.Config

我想知道为什么ServletContext mem store在那里不可用。这似乎不太符合逻辑,而且也太糟糕了,因为我无法初始化以后也将可用的属性。它可以通过
event.getServletContext()
获得。另请参阅,特别是。再次,非常感谢。我不知道API中的那个区域。