1. 程式人生 > >Web專案初始化流程

Web專案初始化流程

本文只討論使用web.xml配置檔案啟動web容器的方式

Web伺服器啟動時,部署在web容器上的專案即開始初始化

初始化流程如下:

                         1.Web容器首先讀取專案中web.xml配置檔案中的兩個節點:<context-param><listener>節點並完成初始化

                         2.Web容器建立ServletContext

物件即Servlet上下文,ServletContext代表整個Web應用,是Servlet的共享區

                         3.Web容器將<context-param>轉換為鍵值對,並交給ServletContext

                         4.執行Listener(這裡拿ServletContextListener為例),ServletContextListener介面有兩個方法:contextinitialized()、contextDestroyed(),用來監聽ServletContext物件的建立與銷燬,當監測到ServletContext物件建立時,呼叫contextInitialized()方法,將ServletContext物件封裝到方法的事件物件中:在contextInitialized()方法內部程式碼如下:

/*通過事件物件獲取封裝的servletContext物件*/
servletContext=ServletContextEvent.getServletContext();
/*通過鍵值獲得context-param的值*/
Context-param=ServletContext.getInitParameter("context-param的鍵");

                         5.獲得context-param並進行相關操作,例如在專案啟動的時候建立資料庫

等在專案初始化時需要進行的操作

                         6.載入filter

                         7.Web容器讀取每個Servlet設定資訊,並生成代表物件servletconfig,此時將servletcontext設定在servletconfig中,可以從servletconfig中獲取到servletcontext物件來獲取上下文資訊,例項化servlet在web容器中,收到請求後,servlet開始服務,傳入servletconfig到servlet的init方法中進行servlet初始化(這個過程只進行一次)即servlet在web容器啟動的時候即已完成例項化,並且在處理http請求的時候才進行初始化

 

               綜上:web.xml配置檔案中的節點載入順序為:

                                context-param->listener->filter->servlet