web.xml的元素
首先注意 xml是大小寫(xiě)敏感的
1、 web.xml的頭和根元素
必須以一個(gè)XML頭開(kāi)始。這個(gè)頭聲明可以使用的XML版本并給出文件的字符編碼。
DOCYTPE聲明必須立即出現(xiàn)在此頭之后。這個(gè)聲明告訴服務(wù)器適用的servlet規(guī)范的版本(如2.2或2.3)并指定管理此文件其余部分內(nèi)容的語(yǔ)法的DTD(Document Type Definition,文檔類型定義)。
所有部署描述符文件的頂層(根)元素為web-app。
例(紅色部分是可選項(xiàng)):
--------------------------------------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "?? <web-app id="WebApp">
?? </web-app>
--------------------------------------------------------------------------------------------------------------------------
?2、元素
以下元素幾乎都是可選項(xiàng),不過(guò)要注意它們是有順序的。雖然有些服務(wù)器要求寬松些,但某些服務(wù)器會(huì)拒絕執(zhí)行順序不正確的web應(yīng)用。所以還是按順序?qū)懞?/p>
--------------------------------------------------------------------------------------------------------------------------
· icon icon元素指出IDE和GUI工具用來(lái)表示W(wǎng)eb應(yīng)用的一個(gè)和兩個(gè)圖像文件的位置。
· display-name display-name元素提供GUI工具可能會(huì)用來(lái)標(biāo)記這個(gè)特定的Web應(yīng)用的一個(gè)名稱。
· description description元素給出與此有關(guān)的說(shuō)明性文本。
· context-param context-param元素聲明應(yīng)用范圍內(nèi)的初始化參數(shù)。
· filter 過(guò)濾器元素將一個(gè)名字與一個(gè)實(shí)現(xiàn)javax.servlet.Filter接口的類相關(guān)聯(lián)。
· filter-mapping 一旦命名了一個(gè)過(guò)濾器,就要利用filter-mapping元素把它與一個(gè)或多個(gè)servlet或JSP頁(yè)面相關(guān)聯(lián)。
· listener servlet API的版本2.3增加了對(duì)事件監(jiān)聽(tīng)程序的支持,事件監(jiān)聽(tīng)程序在建立、修改和刪除會(huì)話或servlet環(huán)境時(shí)得到通知。Listener元素指出事件監(jiān)聽(tīng)程序類。
· servlet 在向servlet或JSP頁(yè)面制定初始化參數(shù)或定制URL時(shí),必須首先命名servlet或JSP頁(yè)面。Servlet元素就是用來(lái)完成此項(xiàng)任務(wù)的。
· servlet-mapping服務(wù)器一般為servlet提供一個(gè)缺省的URL:http://host/webAppPrefix/servlet/ServletName。但是,常常會(huì)更改這個(gè)URL,以便servlet可以訪問(wèn)初始化參數(shù)或更容易地處理相對(duì)URL。在更改缺省URL時(shí),使用servlet-mapping元素。
·session-config如果某個(gè)會(huì)話在一定時(shí)間內(nèi)未被訪問(wèn),服務(wù)器可以拋棄它以節(jié)省內(nèi)存。可通過(guò)使用HttpSession的setMaxInactiveInterval方法明確設(shè)置單個(gè)會(huì)話對(duì)象的超時(shí)值,或者可利用session-config元素制定缺省超時(shí)值。
· mime-mapping 如果Web應(yīng)用具有想到特殊的文件,希望能保證給他們分配特定的MIME類型,則mime-mapping元素提供這種保證。
· welcom-file-list welcome-file-list元素指示服務(wù)器在收到引用一個(gè)目錄名而不是文件名的URL時(shí),使用哪個(gè)文件。
· error-page error-page元素使得在返回特定HTTP狀態(tài)代碼時(shí),或者特定類型的異常被拋出時(shí),能夠制定將要顯示的頁(yè)面。
· taglib taglib元素對(duì)標(biāo)記庫(kù)描述符文件(Tag Libraryu Descriptor file)指定別名。此功能使你能夠更改TLD文件的位置,而不用編輯使用這些文件的JSP頁(yè)面。
· resource-env-ref resource-env-ref元素聲明與資源相關(guān)的一個(gè)管理對(duì)象。
· resource-ref resource-ref元素聲明一個(gè)資源工廠使用的外部資源。
· security-constraint security-constraint元素制定應(yīng)該保護(hù)的URL。它與login-config元素聯(lián)合使用
· login-config 用login-config元素來(lái)指定服務(wù)器應(yīng)該怎樣給試圖訪問(wèn)受保護(hù)頁(yè)面的用戶授權(quán)。它與sercurity-constraint元素聯(lián)合使用。
· security-role security-role元素給出安全角色的一個(gè)列表,這些角色將出現(xiàn)在servlet元素內(nèi)的security-role-ref元素的role-name子元素中。分別地聲明角色可使高級(jí)IDE處理安全信息更為容易。
· env-entry env-entry元素聲明Web應(yīng)用的環(huán)境項(xiàng)。
· ejb-ref ejb-ref元素聲明一個(gè)EJB的主目錄的引用。
· ejb-local-ref ejb-local-ref元素聲明一個(gè)EJB的本地主目錄的應(yīng)用。