在web項目啓動時,執行某個方法

         在web項目中有很多時候需要在項目啓動時就執行一些方法,而且只需要執行一次,比如:加載解析自定義的配置文件、初始化數據庫信息等等,在項目啓動時就直接執行一些方法,可以減少很多繁瑣的操作。

         在工作中遇到了項目初始數據需要跟其他項目同步的問題,也就是說在項目部署後,啓動的時候就要同步另外一個項目的數據,這裏寫了個簡單的實例,用的是監聽器機制,創建一個類實現ServletContextListener 接口,實現裏面的contextInitialized和contextDestroyed方法,

[java] view plain copy
  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) {  
  11.         // TODO Auto-generated method stub  
  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中爲這個監聽器添加配置,

[html] view plain copy
  1. <listener>  
  2.   <listener-class> com.test. listener.WebContextListener</listener-class>  
  3. </listener>  

其中listenner-class配置的是上面定義的監聽器類路徑

         這樣就就可以了,部署好項目,啓動就可以執行contextInitialized裏面的代碼了。


如果你需要在項目啓動的時候加載解析你自定義的配置文件,可以將加載解析配置文件的代碼放在contextInitialized方法裏面,這樣在你項目啓動的時候就可以解析你配置文件裏的信息了。加載解析配置文件的方法,可以參考我的另一篇博客:http://blog.csdn.net/cb2474600377/article/details/44460907

發佈了123 篇原創文章 · 獲贊 164 · 訪問量 33萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章