我需要初始化Web应用程序的状态。 我可以使用load-on-startup = 0的初始化servlet。 或者我可以使用singleton ejb服务。
有什么好用的?为什么?
答案 0 :(得分:1)
我认为加载启动优于 ejb 。 我在我的网络应用程序中启动时使用了负载。
<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>
答案 1 :(得分:0)
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>