1. 程式人生 > >web專案啟動時,執行某個方法

web專案啟動時,執行某個方法

1.監聽(Listener)

web檔案新增

<listener>  
   <listener-class>cn.ro.common.InitListener</listener-class>  
</listener>

新增InitListener類,如下

package cn.ro.common;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class InitListener implements ServletContextListener  {

@Override
public void contextInitialized(ServletContextEvent paramServletContextEvent) {

              //實現方法
}
@Override
public void contextDestroyed(ServletContextEvent paramServletContextEvent) {
}
}

2.spring初始化bean時

1、在需要進行操作的bean的xml定義中加上init-method屬性,指定下啟動時執行哪個方法;

2、實現InitializingBean介面,Spring在啟動時會自動呼叫這個介面中的初始化方法 

public class SysInitBean implements InitializingBean,ServletContextAware{
          public void afterPropertiesSet() throws Exception {
      //初始化程式碼
       }
}<span style="background-color: rgb(226, 226, 226); "> </span>
實現InitializingBean介面就可以獲取spring的所有配置資訊。
實現ServletContextAware,可以獲得servletcontext

3.servlet的init()方法

自動執行servlet

寫一個servlet,在init()方法中寫好想要執行的程式,

同時,在web.xml配置檔案中指出

<servlet>
                <servlet-name>XXXX</servlet-name>
                  <servlet-class>XXXX</servlet-class>
                 <load-on-startup>1</load-on-startup>
        </servlet>

load-on-startup的值必須為整數,當load-on-startup值為負整數或者未指定時,容器在該servlet被呼叫時載入

當其值為0和正整數時,容器啟動時載入,值越小,優先順序越高