1. 程式人生 > >web.xml 組件加載順序

web.xml 組件加載順序

相關 資源 怎樣 list des fig inactive web應用 更改

 <web-app>

<display-name></display-name>WEB應用的名字

<description></description> WEB應用的描述

<context-param></context-param> context-param元素聲明應用範圍內的初始化參數

<!– 指定spring配置文件位置 –>
<context-param>
<param-name>contextConfigLocation</param-name>
<
param-value> <!–加載多個spring配置文件 –> /WEB-INF/applicationContext.xml, /WEB-INF/action-servlet.xml </param-value> </context-param> <filter></filter> 過濾器將一個名字與一個實現javax.servlet.Filter接口的類相關聯 <filter-mapping></filter-mapping> 一旦命名了一個過濾器,就要利用filter-mapping元素把它與一個或多個servlet或JSP頁面相關聯
<listener></listener> 事件監聽程序在建立、修改和刪除會話或servlet環境時得到通知。Listener元素指出事件監聽程序類。 如Log4j這個廣泛使用的監聽和 <!– 定義SPRING監聽器,加載spring –> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <servlet></servlet>
在向servlet或JSP頁面制定初始化參數或定制URL時,必須首先命名servlet或JSP頁面。Servlet元素就是用來完成此項任務的。 <servlet-mapping></servlet-mapping> 服務器一般為servlet提供一個缺省的URL:http://host/webAppPrefix/servlet/ServletName。 但是,常常會更改這個URL,以便servlet可以訪問初始化參數或更容易地處理相對URL。在更改缺省URL時,使用servlet-mapping元素 <session-config></session-config> 如果某個會話在一定時間內未被訪問,服務器可以拋棄它以節省內存。 可通過使用HttpSession的setMaxInactiveInterval方法明確設置單個會話對象的超時值,或者可利用session-config元素制定缺省超時值 <mime-mapping></mime-mapping>如果Web應用具有想到特殊的文件,希望能保證給他們分配特定的MIME類型,則mime-mapping元素提供這種保證 <welcome-file-list></welcome-file-list> 指示服務器在收到引用一個目錄名而不是文件名的URL時,使用哪個文件(其實就是歡迎界面或者說入口界面一般為index.*) <error-page></error-page> 在返回特定HTTP狀態代碼時,或者特定類型的異常被拋出時,能夠制定將要顯示的頁面。 <taglib></taglib> 對標記庫描述符文件(Tag Libraryu Descriptor file)指定別名。此功能使你能夠更改TLD文件的位置, 而不用編輯使用這些文件的JSP頁面。 <resource-env-ref></resource-env-ref>聲明與資源相關的一個管理對象。 <resource-ref></resource-ref> 聲明一個資源工廠使用的外部資源。 <security-constraint></security-constraint> 制定應該保護的URL。它與login-config元素聯合使用 <login-config></login-config> 指定服務器應該怎樣給試圖訪問受保護頁面的用戶授權。它與sercurity-constraint元素聯合使用。 <security-role></security-role>給出安全角色的一個列表,這些角色將出現在servlet元素內的security-role-ref元素的role-name子元素中。分別地聲明角色可使高級IDE處理安全信息更為容易 <env-entry></env-entry>聲明Web應用的環境項 </web-app>

在配置項目組件的過程中, 了解Tomcat加載組件順序很有必要。 例如某些框架如Quartz的集群功能需要數據庫的支持, 數據庫的加載肯定要在框架組件加載之前。

經過查閱和Debug發現, web.xml組件加載順序為:context-param -> listener -> filter -> servlet(同類則按編寫順序執行)。

web.xml 組件加載順序