Servlets 用于初始化web应用程序的servlet或ejb单例

Servlets 用于初始化web应用程序的servlet或ejb单例,servlets,web,initialization,ejb,Servlets,Web,Initialization,Ejb,我需要初始化web应用程序的状态。 我可以使用启动时加载=0的初始化servlet。 或者我可以使用单例ejb服务 使用什么更好?为什么?我认为启动时加载比ejb好。 我在web应用程序中使用了启动时加载 <servlet> <servlet-class>com.agileinfotech.bsviewer.servlet.InitServlet</servlet-class> <load-on-startup>1</load-

我需要初始化web应用程序的状态。 我可以使用启动时加载=0的初始化servlet。 或者我可以使用单例ejb服务


使用什么更好?为什么?

我认为启动时加载ejb好。 我在web应用程序中使用了启动时加载

 <servlet>
   <servlet-class>com.agileinfotech.bsviewer.servlet.InitServlet</servlet-class>
   <load-on-startup>1</load-on-startup>
 </servlet>
 <servlet-mapping>
    <servlet-name>InitServlet</servlet-name>
    <url-pattern>/InitServlet</url-pattern>
 </servlet-mapping>

com.agileinfo.bsviewer.servlet.InitServlet
1.
InitServlet
/InitServlet
对于web应用程序的初始化,有一个特殊的“东西”——ServletContextListener。 它是这样使用的:

package example;

import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

public class ServletContextExample implements ServletContextListener{
    ServletContext context;
public void contextInitialized(ServletContextEvent contextEvent) {
       ... some init work
}
public void contextDestroyed(ServletContextEvent contextEvent) {
        ... some destroy work
}
}

和在web.xml中

<listener>
  <listener-class>
    example.ServletContextExample
  </listener-class>
</listener>

example.ServletContextExample