<web-app>
<error-page>
<error-code>404</error-code>
<location>/error404.html</location>
</error-page>
</web-app>
15. taglib元素
taglib元素描述JSP定制標(biāo)記庫(kù)。
<!ELEMENT taglib (taglib-uri, taglib-location)>
<!ELEMENT taglib-uri (#PCDATA)>
<!ELEMENT taglib-location (#PCDATA)>
taglib-uri元素是用于Web應(yīng)用中的標(biāo)記庫(kù)的URI。taglib-uri元素的值與WEB-INF目錄相對(duì)應(yīng)。
taglib-location元素包含一個(gè)位置,其中可以找到標(biāo)記庫(kù)的標(biāo)記庫(kù)描述符(TLD)文件。
16. resource-env-ref元素
可以使用resource-env-ref元素來(lái)指定對(duì)管理對(duì)象的servlet引用的聲明,該對(duì)象與servlet環(huán)境中的資源相關(guān)聯(lián)。
<!ELEMENT resource-env-ref (description?, resource-env-ref-name,
resource-env-ref-type)>
<!ELEMENT resource-env-ref-name (#PCDATA)>
<!ELEMENT resource-env-ref-type (#PCDATA)>
resource-env-ref-name元素是資源環(huán)境引用的名稱,其值為servlet代碼中使用的環(huán)境的入口名稱。該名稱是一個(gè)與java:comp/env相對(duì)應(yīng)的Java命名和目錄接口(JNDI)名稱,該名稱在整個(gè)Web應(yīng)用中必須是惟一的。
17. resource-ref元素
resource-ref元素用于指定對(duì)外部資源的servlet引用的聲明。
<!ELEMENT resource-ref (description?, res-ref-name,
res-type, res-auth, res-sharing-scope?)>
<!ELEMENT description (#PCDATA)>
<!ELEMENT res-ref-name (#PCDATA)>
<!ELEMENT res-type (#PCDATA)>
<!ELEMENT res-auth (#PCDATA)>
<!ELEMENT res-sharing-scope (#PCDATA)>
resource-ref子元素的描述如下:
● res-ref-name是資源工廠引用名的名稱。該名稱是一個(gè)與java:comp/env上下文相對(duì)應(yīng)的JNDI名稱,并且在整個(gè)Web應(yīng)用中必須是惟一的。
● res-auth表明:servlet代碼通過(guò)編程注冊(cè)到資源管理器,或者是容器將代表servlet注冊(cè)到資源管理器。該元素的值必須為Application或Container。
● res-sharing-scope表明:是否可以共享通過(guò)給定資源管理器連接工廠引用獲得的連接。該元素的值必須為Shareable(默認(rèn)值)或Unshareable。
18. security-constraint元素
部署描述符中的security-constraint元素允許不通過(guò)編程就可以限制對(duì)某個(gè)資源的訪問(wèn)。
<!ELEMENT security-constraint (display-name?,
web-resource-collection+,
auth-constraint?, user-data-constraint?)>
<!ELEMENT display-name (#PCDATA)>
<!ELEMENT web-resource-collection (web-resource-name, description?,
url-pattern*, http-method*)>
<!ELEMENT auth-constraint (description?, role-name*)>
<!ELEMENT user-data-constraint (description?, transport-guarantee)>
(1) web-resource-collection元素
web-resource-collection元素標(biāo)識(shí)需要限制訪問(wèn)的資源子集。在web-resource-collection元素中,可以定義URL模式和HTTP方法。如果不存在HTTP方法,就將安全約束應(yīng)用于所有的方法。
<!ELEMENT web-resource-collection (web-resource-name, description?,
url-pattern*, http-method*)>
<!ELEMENT web-resource-name (#PCDATA)>
<!ELEMENT description (#PCDATA)>
<!ELEMENT url-pattern (#PCDATA)>
<!ELEMENT http-method (#PCDATA)>
web-resource-name是與受保護(hù)資源相關(guān)聯(lián)的名稱。http-method元素可被賦予一個(gè)HTTP方法,比如GET和POST。
(2) auth-constraint元素
auth-constraint元素用于指定可以訪問(wèn)該資源集合的用戶角色。如果沒(méi)有指定auth-constraint元素,就將安全約束應(yīng)用于所有角色。
<!ELEMENT auth-constraint (description?, role-name*)>
<!ELEMENT description (#PCDATA)>
<!ELEMENT role-name (#PCDATA)>
role-name元素包含安全角色的名稱。
(3) user-data-constraint元素
user-data-constraint元素用來(lái)顯示怎樣保護(hù)在客戶端和Web容器之間傳遞的數(shù)據(jù)。
<!ELEMENT user-data-constraint (description?, transport-guarantee)>
<!ELEMENT description (#PCDATA)>
<!ELEMENT transport-guarantee (#PCDATA)>
transport-guarantee元素必須具有如下的某個(gè)值:
● NONE,這意味著應(yīng)用不需要傳輸保證。
● INTEGRAL,意味著服務(wù)器和客戶端之間的數(shù)據(jù)必須以某種方式發(fā)送,而且在傳送中不能改變。
● CONFIDENTIAL,這意味著傳輸?shù)臄?shù)據(jù)必須是加密的數(shù)據(jù)。
在大多數(shù)情況下,安全套接字層(SSL)用于INTEGRAL或CONFIDENTIAL。
19. login-config元素
login-config元素用來(lái)指定所使用的驗(yàn)證方法、領(lǐng)域名和表單驗(yàn)證機(jī)制所需的特性。
<!ELEMENT login-config (auth-method?, realm-name?,
form-login-config?)>
<!ELEMENT auth-method (#PCDATA)>
<!ELEMENT realm-name (#PCDATA)>
<!ELEMENT form-login-config (form-login-page, form-error-page)>
login-config子元素的描述如下:
● auth-method指定驗(yàn)證方法。它的值為下面的一個(gè):BASIC、DIGEST、FORM或 CLIENT-CERT
● realm-name指定HTTP Basic驗(yàn)證中使用的領(lǐng)域名。
● form-login-config指定基于表單的登錄中應(yīng)該使用的登錄頁(yè)面和出錯(cuò)頁(yè)面。如果沒(méi)有使用基于表單的驗(yàn)證,則忽略這些元素。這個(gè)元素的定義如下,其中form-login-page用于指定顯示登錄頁(yè)面的資源路徑, form-error-page則用于指定用戶登錄失敗時(shí)顯示出錯(cuò)頁(yè)面的資源路徑。這兩個(gè)頁(yè)面路徑都必須以a/開(kāi)始,并與應(yīng)用目錄相對(duì)應(yīng)。
<!ELEMENT form-login-config (form-login-page, form-error-page)>
<!ELEMENT form-login-page (#PCDATA)>
<!ELEMENT form-error-page (#PCDATA)>
20. security-role元素
security-role元素指定用于安全約束中的安全角色的聲明。
<!ELEMENT security-role (description?, role-name)>
<!ELEMENT description (#PCDATA)>
<!ELEMENT role-name (#PCDATA)>
21. env-entry元素
env-entry元素用于指定應(yīng)用環(huán)境入口。
<!ELEMENT env-entry (description?, env-entry-name, env-entry-value?,
env-entry-type)>
<!ELEMENT description (#PCDATA)>
<!ELEMENT env-entry-name (#PCDATA)>
<!ELEMENT env-entry-value (#PCDATA)>
<!ELEMENT env-entry-type (#PCDATA)>
env-entry-name元素包含Web應(yīng)用環(huán)境入口的名稱。該名稱是一個(gè)與java:comp/env相對(duì)應(yīng)的JNDI名稱,并且在整個(gè)應(yīng)用中必須是惟一的。
env-entry-value元素包含Web應(yīng)用環(huán)境入口的值。該值必須是一個(gè)字符串類型的值,并且對(duì)于指定類型的構(gòu)造函數(shù)是有效的,該函數(shù)獲得一個(gè) String參數(shù);或者對(duì)于java.lang.Character是有效的,java.lang.Character對(duì)象是一個(gè)字符。
env-entry-type元素包含環(huán)境入口值的完全限定的Java類型,該環(huán)境入口值是Web應(yīng)用代碼所期望的。這個(gè)env-entry-type元素的值必須是如下之一:
java.lang.Boolean
java.lang.Byte
java.lang.Character
java.lang.String
java.lang.Short
java.lang.Integer
java.lang.Long
java.lang.Float
java.lang.Double
22. ejb-ref元素
ejb-ref元素用于指定EJB的home接口的引用。
<!ELEMENT ejb-ref (description?, ejb-ref-name, ejb-ref-type, home,
remote, ejb-link?)>
<!ELEMENT description (#PCDATA)>
<!ELEMENT ejb-ref-name (#PCDATA)>
<!ELEMENT ejb-ref-type (#PCDATA)>
<!ELEMENT home (#PCDATA)>
<!ELEMENT remote (#PCDATA)>
<!ELEMENT ejb-link (#PCDATA)>
ejb-ref-name包含EJB引用的名稱。EJB引用是servlet環(huán)境中的一個(gè)入口,它與java:comp/env相對(duì)應(yīng)。這個(gè)名稱在Web應(yīng)用中必須是惟一的。為求一致性,推薦您的ejb-ref-name元素名稱以ejb/開(kāi)始。
ejb-ref-name元素包含引用的EJB的期望類型。這個(gè)值必須是Entity或Session。
home元素包含EJB的home接口的完全限定的名稱。remote元素包含EJB的remote接口的完全限定的名稱。
ejb-ref或ejb-local-ref元素中用到的ejb-link元素可指定EJB 引用被鏈接到另一個(gè)EJB。Ejb-link元素的值必須是同一個(gè)J2EE應(yīng)用單元中某個(gè)EJB的ejb-name。Ejb-link元素中的名稱可以由指定ejb-jar的路徑名組成,該ejb-jar包含引用的EJB。目標(biāo)bean的名稱添加在后面,用字符a# 與路徑名分隔。路徑名與包含引用EJB的Web應(yīng)用的WAR相對(duì)應(yīng)。這就允許我們惟一標(biāo)識(shí)具有相同ejb-name的多個(gè)企業(yè)bean。
23. ejb-local-ref元素
ejb-local-ref元素用于聲明對(duì)EJB的本地home的引用。
<!ELEMENT ejb-local-ref (description?, ejb-ref-name, ejb-ref-type,
local-home, local, ejb-link?)>
<!ELEMENT description (#PCDATA)>
<!ELEMENT ejb-ref-name (#PCDATA)>
<!ELEMENT ejb-ref-type (#PCDATA)>
<!ELEMENT local-home (#PCDATA)>
<!ELEMENT local (#PCDATA)>
<!ELEMENT ejb-link (#PCDATA)>
local元素包含EJB本地接口的完全限定的名稱。Local-home元素包含EJB本地home接口的完全限定的名稱。