web.xml 组件加载顺序
生活随笔
收集整理的這篇文章主要介紹了
web.xml 组件加载顺序
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
轉(zhuǎn)載自??web.xml 組件加載順序
在配置項(xiàng)目組件的過程中, 了解Tomcat加載組件順序很有必要。 例如某些框架如Quartz的集群功能需要數(shù)據(jù)庫的支持, 數(shù)據(jù)庫的加載肯定要在框架組件加載之前。
經(jīng)過查閱和Debug發(fā)現(xiàn), web.xml組件加載順序?yàn)?#xff1a;context-param -> listener -> filter -> servlet(同類則按編寫順序執(zhí)行)。
web.xml常用組件解析:
<web-app><display-name></display-name> WEB應(yīng)用的名字?<description></description>? WEB應(yīng)用的描述 ? ?<context-param></context-param>? context-param元素聲明應(yīng)用范圍內(nèi)的初始化參數(shù)<!-- 指定spring配置文件位置 -->?? ? <context-param>?? ?<param-name>contextConfigLocation</param-name>?? ?<param-value>?? ? <!--加載多個(gè)spring配置文件 -->?? ? /WEB-INF/applicationContext.xml, /WEB-INF/action-servlet.xml ? ?</param-value>?? ? </context-param>?? ?<filter></filter>? 過濾器將一個(gè)名字與一個(gè)實(shí)現(xiàn)javax.servlet.Filter接口的類相關(guān)聯(lián) ? ?<filter-mapping></filter-mapping>? 一旦命名了一個(gè)過濾器,就要利用filter-mapping元素把它 與一個(gè)或多個(gè)servlet或JSP頁面相關(guān)聯(lián)<listener></listener>? 事件監(jiān)聽程序在建立、修改和刪除會話或servlet環(huán)境時(shí)得到通知。 Listener元素指出事件監(jiān)聽程序類。 ? ?如Log4j這個(gè)廣泛使用的監(jiān)聽<!-- 定義SPRING監(jiān)聽器,加載spring -->??? <listener>?? ?<listenerclass>org.springframework.web.context.ContextLoaderListener</listener-class>?? ? </listener>??<servlet></servlet>? 在向servlet或JSP頁面制定初始化參數(shù)或定制URL時(shí), 必須首先命名servlet或JSP頁面。 Servlet元素就是用來完成此項(xiàng)任務(wù)的。<servlet-mapping></servlet-mapping>? 服務(wù)器一般為servlet提供一個(gè)缺省的URL:http://host/webAppPrefix/servlet/ServletName。 但是,常常會更改這個(gè)URL, 以便servlet可以訪問初始化參數(shù)或更容易地處理相對URL。 在更改缺省URL時(shí),使用servlet-mapping元素 ? ?<session-config></session-config>? 如果某個(gè)會話在一定時(shí)間內(nèi)未被訪問, 服務(wù)器可以拋棄它以節(jié)省內(nèi)存。 ? 可通過使用HttpSession的setMaxInactiveInterval方法明確設(shè)置單個(gè)會話對象的超時(shí)值, 或者可利用session-config元素制定缺省超時(shí)值 ? ?<mime-mapping></mime-mapping> 如果Web應(yīng)用具有想到特殊的文件, 希望能保證給他們分配特定的MIME類型, 則mime-mapping元素提供這種保證 ?<welcome-file-list></welcome-file-list>? 指示服務(wù)器在收到引用一個(gè)目錄名而不是文件名的URL時(shí), 使用哪個(gè)文件(其實(shí)就是歡迎界面或者說入口界面一般為index.*) ??<error-page></error-page> 在返回特定HTTP狀態(tài)代碼時(shí),或者特定類型的異常被拋出時(shí), 能夠制定將要顯示的頁面。 ? ?<taglib></taglib>? 對標(biāo)記庫描述符文件(Tag Libraryu Descriptor file)指定別名。 此功能使你能夠更改TLD文件的位置, ?? 而不用編輯使用這些文件的JSP頁面。<resource-env-ref></resource-env-ref> 聲明與資源相關(guān)的一個(gè)管理對象。?<resource-ref></resource-ref>? 聲明一個(gè)資源工廠使用的外部資源。 ? ?<security-constraint></security-constraint>? 制定應(yīng)該保護(hù)的URL。它與login-config元素聯(lián)合使用?<login-config></login-config>? 指定服務(wù)器應(yīng)該怎樣給試圖訪問受保護(hù)頁面的用戶授權(quán)。 它與sercurity-constraint元素聯(lián)合使用。 ? ?<security-role></security-role> 給出安全角色的一個(gè)列表,這些角色將出現(xiàn)在servlet元素內(nèi)的 security-role-ref元素的role-name子元素中。 分別地聲明角色可使高級IDE處理安全信息更為容易<env-entry></env-entry> 聲明Web應(yīng)用的環(huán)境項(xiàng)</web-app>總結(jié)
以上是生活随笔為你收集整理的web.xml 组件加载顺序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 迈克尔杰克逊的死因 迈克尔杰克逊的死因是
- 下一篇: BATJ面试必会|Jvm 虚拟机篇