这个用法是针对ServletContextListener的
新建一个类:
import javax.servlet.ServletContextListener;
import ejbModule.common.EJB3Factory;
import ejbModule.operation.terminal.AdaptationModelMgr;
public class StartLoadListener implements ServletContextListener {
public void contextInitialized(ServletContextEvent arg0) {
// TODO Auto-generated method stub
System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~start load~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
boolean haveStart;
try {
AdaptationModelMgr adaptationModelMgr =
(AdaptationModelMgr)EJB3Factory.getLocalEJBSessionBean("AdaptationModelMgrBean");
haveStart = adaptationModelMgr.startLoad();
System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~start load end ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ and it success load?"+haveStart);
} catch (RuntimeException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void contextDestroyed(ServletContextEvent arg0)
{
}
}
然后在web.xml 配置监听器:
<listener> <listener-class> action.StartLoadListener </listener-class> </listener>
启动服务器(jboss),即可看到启动过程中,会打印出我们配好的listener的信息。
如果我们有什么数据需要在服务器启动的时候加载,可以放在监听器这里。
ServletContextListener接口
[接口方法] contextInitialized()与 contextDestroyed()
[接收事件] ServletContextEvent
[触发场景] 在Container加载Web应用程序时(例如启动 Container之后),会呼叫contextInitialized(),而当容器移除Web应用程序时,会呼叫contextDestroyed ()方法。
问题:1、如果我们部署的应用不是web应用呢?要实现在服务器启动的时候加载数据,怎么实现?
本文介绍如何在服务器启动时使用ServletContextListener接口加载数据,适用于非Web应用的场景。详细阐述了监听器的使用方法及配置步骤,并解释了接口方法与触发场景。
3799

被折叠的 条评论
为什么被折叠?



