在web項目中有很多時候需要在項目啟動時就執行一些方法,而且只需要執行一次,比如:加載解析自定義的配置文件、初始化數據庫信息等等,在項目啟動時就直接執行一些方法,可以減少很多繁瑣的操作。
這里寫了個簡單的實例,用的是監聽器機制,創建一個類實現ServletContextListener 接口,實現里面的contextInitialized和contextDestroyed方法。
1 package com.test.listener; 2 3 import javax.servlet.ServletContextEvent; 4 import javax.servlet.ServletContextListener; 5 //創建的類名根據需要定義,但一定要實現ServletContextListener接口 6 public class WebContextListener implements ServletContextListener { 7 8 9 @Override 10 public void contextInitialized(ServletContextEvent arg0) { 12 //這里可以放你要執行的代碼或方法 13 } 14 15 @Override 16 public void contextDestroyed(ServletContextEvent arg0) { 17 // TODO Auto-generated method stub 18 19 } 20 21 22 }
其中contextInitialized方法是項目在啟動初始化的時候就會執行的方法,contextDestroyed是在消亡的時候執行的方法,這里我們需要把隨項目啟動時執行的代碼放在contextInitialized方法中。
然后在web.xml中為這個監聽器添加配置:
1 <listener> 2 <listener-class> com.test. listener.WebContextListener</listener-class> 3 </listener>
其中listenner-class配置的是上面定義的監聽器類路徑
這樣就就可以了,部署好項目,啟動就可以執行contextInitialized里面的代碼了。