context-param 為上下文初始化參數
解析:每個<context-param>元素含有一對參數名和參數值(param-name和param-value),用作應用的Servlet上下文初始化參數,
參數名在整個Web應用中必須是惟一的,在web應用的整個生命周期中上下文初始化參數都存在,任意的Servlet和jsp都可以隨時隨地訪問它。
什么時候需要它?
比如:當我們定義一個管理員email地址,用來從程序發送錯誤,或者與整個應用程序有關的其他設置,使用自定義的設置文件需要額外的代碼和管理,
而直接在程序中使用硬編碼(Hard-coding)參數值會給你之后修改程序帶來麻煩,更困難的是,要根據不同的部署使用不同的設置;
但context-param可作為一個用於設置這種參數的標准位置。
常見的例子:
1. 為Spring添加配置文件
Spring配置文件默認的路徑是/WEB-INF/applicationContext.xml,即WEB-INF目錄下創建的xml文件的名稱必須是applicationContext.xml。
但通過在web.xml里加入contextConfigLocation,可指定相應的xml文件名,如果有多個xml文件,可以寫在一起並以“,”號分隔,例如:
<!-- spring config --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/spring-configuration/*.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>