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. ContextLoaderListener監聽器的作用就是啟動Web容器時,自動裝配ApplicationContext的配置信息。因為它實現了ServletContextListener這個接口,在web.xml配置這個監聽器,啟動容器時,就會默認執行它實現的方法。
