tomcat開啓後會讀取的WEB-INF/lib下的jar包,然後根據各個工程的web.xml配置加載並開啓監聽器與過濾器.這期間會把監聽器與過濾器是使用的類加載到內存中.
web項目web.xml的配置中“context-param”配置起什麼作用?
1.啓動一個WEB項目的時候,容器(如:Tomcat)會去讀它的配置文件web.xml.讀兩個節點: <listener></listener> 和 <context-param></context-param>
2.緊接着,容器創建一個ServletContext(上下文),這個WEB項目所有部分都將共享這個上下文.
3.容器將<context-param></context-param>轉化爲鍵值對,並交給ServletContext.
4.容器創建<listener></listener>中的類實例,即創建監聽.
5.在監聽中會有contextInitialized(ServletContextEvent args)初始化方法,在這個方法中獲得
ServletContext = ServletContextEvent.getServletContext();
context-param的值 = ServletContext.getInitParameter("context-param的鍵");
6.得到這個context-param的值之後,你就可以做一些操作了.注意,這個時候你的WEB項目還沒有完全啓動完成.這個動作會比所有的Servlet都要早.
換句話說,這個時候,你對<context-param>中的鍵值做的操作,將在你的WEB項目完全啓動之前被執行.
7.舉例.你可能想在項目啓動之前就打開數據庫.
那麼這裏就可以在<context-param>中設置數據庫的連接方式,在監聽類中初始化數據庫的連接.
8.這個監聽是自己寫的一個類,除了初始化方法,它還有銷燬方法.用於關閉應用前釋放資源.比如說數據庫連接的關閉.
9.... 以上資料來自<<Head First Servlet&JSP>>