WEB項目初始化過程:
在啟動Web項目時,容器(比如Tomcat)會讀web.xml配置檔案中的兩個節點和。
接着容器會建立一個ServletContext(上下文),應用範圍内即整個WEB項目都能使用這個上下文。
接着容器會将讀取到轉化為鍵值對,并交給ServletContext。
容器建立中的類執行個體,即建立監聽(備注:listener定義的類可以是自定義的類但必須需要繼承ServletContextListener)。
在監聽的類中會有一個contextInitialized(ServletContextEvent event)初始化方法,在這個方法中可以通過event.getServletContext().getInitParameter("contextConfigLocation") 來得到context-param 設定的值。在這個類中還必須有一個contextDestroyed(ServletContextEvent event) 銷毀方法.用于關閉應用前釋放資源,比如說資料庫連接配接的關閉。
得到這個context-param的值之後,你就可以做一些操作了.注意,這個時候你的WEB項目還沒有完全啟動完成.這個動作會比所有的Servlet都要早。
由上面的初始化過程可知容器對于web.xml的加載過程是context-param->listener->fileter->servlet
context-param标簽格式如下:
contextConfigLocation
contextConfigLocationValue
context-param用來聲明應用範圍(整個WEB項目)内的上下文初始化參數。
param-name:設定上下文的參數名稱。必須是唯一名稱
param-value:設定的參數名稱的值
擷取param-value的方法://contextConfigLocation為param-name
頁面中
${initParam.contextConfigLocation}
Servlet中
String paramValue=getServletContext().getInitParameter("contextConfigLocation");