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>>