<!DOCTYPE web-app PUBLIC "-//sun Microsystems, inc.//DTD Web Application 2.3//EN" "
13.3 DTD
web應用的部署描述文件DTD如下:
<!--
web-app 元素是部署描述的根元素
-->
<!ELEMENT web-app(icon?,display-name?,description?,distributable?,context-param*,filter*,filter-mapping*,listener*,servlet*,servlet-mapping*,session-config?,mime-mapping*,welcome-file-list?,error-page*,taglib*,resource-env-ref*,resource-ref*,security-constraint*,login-config?,security-role*,env-entry*,ejb-ref*,ejb-local-ref*)>
<!--
Auth-constraint 元素定義了可以訪問資源列表的用戶角色。Role-name可以作為security-role元素的子元素出現(xiàn)也可以以role-name"*"出現(xiàn)表示所有的角色,如果*和role-name都出現(xiàn)了,引擎將解釋這個資源可以被所有角色使用。如果沒有定義角色,用戶就不能夠訪問定義的資源。
Used in :security-constraint
-->
<!ELEMENT auth-constraint (description?,role-name*)>
<!--
Auth-method 元素是配置web應用的安全機制的,是訪問被保護資源的先決條件。用戶必須用這個驗證機制驗證。這個元素Value值有“BASIC”,“DIGEST”,“FORM”或“CLIENT-CERT”
Userd in : login-config
-->
<!ELEMENT auth-method(#PCDATA)>
<!--
Context-param元素包含了servlet context初始化的參數(shù)
Used in :web-app
-->
<!ELEMENT context-param(param-name,param-value,description?)>
<!--
description元素用于對父元素進行說明,description元素可以包含任何說明信息。當父元素被工具訪問時這些說明就會顯示。
Used in :auth-contraint,context-param,ejb-local-ref,ejb-ref,env-entry,filter,init-param,resource-env-ref,resource-ref,ren-as,security-role,security-role-ref,servlet,user-data-constraint,web-app,web-resource-collection
-->
<!ELEMENT description(#PCDATA)>
<!--
Display-name元素是一個簡稱,被調(diào)用的工具顯示,這個簡稱不必是唯一的
Used in: filter,security-constraint,sevlet,web-app
例如:
<display-name>Employee self Service </display-name>
-->
<!ELEMENT display-name(#PCDATA)>
<!--
Distributable 元素,這個元素出現(xiàn)在部署描述中,說明該應用可以部署在分布式servlet引擎中。
Used in :web-app
-->
<!ELEMENT distributable EMPTY>
<!--
Ejb-link 元素用在ejb-ref 或ejb-local-ref元素中,去指定EJB關聯(lián)的一個enterprise bean.
Ejb-link中的名字是一個關聯(lián)著enterprise bean的路徑 或者是目標bean+一個以“#”開頭的路徑。一個ejb-name可以對應多個enterprise beans。
Used in : ejb-local-ref,ejb-ref
例如:
<ejb-link>EmployeeRecord</ejb-link>
<ejb-link>../products/product.jar#ProductEJB</ejb-link>
-->
<!ELEMENT ejb-link (#PCDAATA)>
<!--
ejb-local-ref 元素用于描述本地enterprise bean的home接口,描述由下面的部分組成:
一個可選的描述
與enterprise bean 相關的EJB名稱
Enterprise bean 的類型
Enterprise bean 的本地接口
可選的ejb-link信息
Used in: web-app
-->
<!ELEMENT ejb-local-ref (description?,ejb-ref-name,ejb-ref-type,local-home,local,ejb-link?)>
<!--
Ejb-ref 元素用于描述enterprise bean的home接口。描述由下面組成:
一個可選描述
與enterprise bean 相關的EJB名稱
Enterprise bean 的類型
Enterprise bean 的本地接口
可選的ejb-link信息
Used in:web-app
-->
<!ELEMENT ejb-ref(description?,ejb-ref-name,ejb-ref,type,home,remote,ejb-link?)>
<!--
Ejb-ref-name 元素包含一個EJB的名字,這個名字必須是唯一的;這個EJB是web應用環(huán)境和關聯(lián)的java:comp/env context的入口。建議名字以“ejb/”開頭。
Used in : ejb-local-ref,ejb-ref
例如:
<ejb-ref-name>ejb/Payroll</ejb-ref-name>
-->
<!ELEMENT ejb-ref-name(#PCDATA)>
<!--
Ejb-ref-type 元素包含enterprise bean的類型。Ejb-ref-type元素必須是下面的一種:
<ejb-ref-type>Entity</ejb-ref-type>
<ejb-ref-type>Session</ejb-ref-type>
Used in :ejb-local-ref,ejb-ref
-->
<!ELEMENT ejb-ref-type(#PCDATA)>
<!--
Env-entry 元素包含了web應用的環(huán)境入口的描述。描述包含一個可選的描述,一個環(huán)境入口的名稱,一個可選的value,如果value沒有被指定,在部署中必須提供。
-->
<!ELEMENT env-entry (description?,env-entry-name,env-entry-value?,env-entry-type)>
<!--
env-entry-name元素包含了web應用環(huán)境入口的名稱,這個名稱是一個java:comp/env context關聯(lián)的JNDI名稱。名字必須是唯一的。
例如:
<env-entry-name>minAmount</env-entry-name>
Used in: env-entry
-->
<!ELEMENT env-entry-name(#PCDATA)>
<!--
Env-entry-type 元素包含環(huán)境入口值的fully-qualified java類型,這是web應用程序期望有的。
Env-enry-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
Used in : env-entry
-->
<!ELEMENT env-entry-type(#PCDATA)>
<!--
Env-entry-value元素包含了web應用環(huán)境入口的值,值必須是一個字符串。
例如:
<env-entry-value>100.00</env-entry-value>
Used in : env-entry
<!ELEMENT env-entry-value(#PCDATA)>
<!--
Error-code元素包含HTTP的一個錯誤代碼,如:404
Used in : error-page
-->
<!ELEMENT error-code(#PCDATA)>
<!--
error-page 元素包含一個錯誤代碼映射或錯誤類型資源的一個路徑
Used in : web-app
-->
<!ELEMENT error-page((error-code | exception-type),location)>
<!--
exception-type 包含一個java exception 類型的類名稱
Used in : error-page
-->
<!ELEMENT exception-type(#PCDATA)>
<!--
extension元素包含一個擴展名。如“txt”
Used in : mine-mapping
-->
<!ELEMENT extension (#PCDATA)>
<!--
filter被filter-mapping中的一個servlet或一個URL通過filter-name映射。filter在運行時能夠通過FilterConfig接口訪問初始化的參數(shù)。
Used in : web-app
-->
<!ELEMENT filter (icon?,filter-name,display-name?,description?,filter-class,init-param*)>
<!--
filter-class元素指明filter類.
Used in :filter
-->
<!ELEMENT filtere-class(#PCDATA)>
<!--
引擎用filter-mapping去匹配請求的URI以及匹配的順序,引擎在把匹配的URI匹配一個servlet。
Used in : web-app
-->
<!ELEMENT filter-mapping (Filter-name,(url-pattern | servlet-name))>
<!--
filtere-name元素表明了一個filter的邏輯名稱用于匹配用的。邏輯名稱必須唯一
Used in : filter,filere-mapping
-->
<!ELEMENT filter-name (#PCDATA)>
<!--
form-error-page元素定義了當?shù)顷懯∈钦{(diào)用的頁面。這個路徑以“/”開始
Used in: form-login-config
-->
<!ELEMENT form-error-page (#PCDATA)>
<!--
form-login-config元素指定了登陸的錯誤頁面,如果form不需要驗證,這個元素將被忽略。
Used in : login-config
-->
<!ELEMENT form-login-cofig (form-login-page,form-error-page)>
<!--
form-login-page 元素定義了登陸的頁面。路徑以“/”開頭
used in :form-login-config
-->
<!ELEMENT form-login-page (#PCDATA)>
<!--
home元素包含了enterprise bean的home接口的名稱
Used in :ejb-ref
例如:
<home>com.aardvark.payroll.PayrollHome</home>
<!ELEMENT home (#PCDATA)>
<!--
http-method 包含了HTTP 方法(GET | POST |...)
Used in:web-resource-collection
-->
<!ELEMENT http-method (#PCDATA)>
<!--
icon 元素包含small-icon 和large-icon元素,指明一個gif或jpeg的圖標名稱
Used in : filter,servlet,web-app
-->
<!ELEMENT icon (small-icon?,large-icon?)>
<!--
init-param元素包含了name/value的servlet的初始化參數(shù)
Used in : filter,servlet
-->
<!ELEMETN init-param (param-name,param-value,description?)>
<!--
jsp-file 元素 包含了一個以“/”開頭JSP文件的全名。
Used in : servlet
-->
<!ELEMENT jsp-file (#PCDATA)>
<!--
large-icon 元素包含一個32*32的圖標文件名稱。圖片可以是jpeg或gif。
used in :icon
例如:
<large-icon>employee-service-icon32*32.jsp</large-icon>
-->
<!ELEMENT large-icon (#PCDATA)>
<!--
listener 元素對應著listener bean
Used in : web-app
-->
<!ELEMENT listener (listener-class)>
<!--
listener-class 元素,元素值是監(jiān)聽類的類名。
Used in : listener
-->
<!ELEMENT listener-class (#PCDATA)>
<!--
load-on-startup 元素指明了這個servlet在web啟動時是否必須裝入(調(diào)用servlet的init()方法)。這個內(nèi)容是可選的,但有值時必須是個整數(shù),如果是負數(shù),引擎可以選擇在任何時候裝載該servlet,如果是整數(shù)或0,引擎就必須在web應用啟動時裝入該servlet。數(shù)字越小越被優(yōu)先裝入。如果值一樣,引擎可以自由選擇裝入的順序。
Used in : servlet
-->
<!ELEMENT load-on-startup (#PCDATA)>
<!--
local元素包含了enterprise bean的local接口
Used in : ejb-local-ref
-->
<!ELEMENT local (#PCDATA)>
<!--
local-home元素包含了enterprise bean的本地home接口
Used in : ejb-local-ref
-->
<!ELEMENT local-home (#PCDATA)>
<!--
location 元素包含與web應用根目錄關聯(lián)的資源,值必須以‘/’開頭
Used in : error-page
-->
<!ELEMENT location (#PCDATA)>
<!--
login-config 元素用于配置驗證的方法的。
Used in :web-app
-->
<!ELEMENT login-conifg (auth-method?,realm-name?,form-login-config?)>
<!--
mime-mapping 元素定義了擴展名和mime類型的映射關系。
Used in :web-app
-->
<!ELEMENT mime-mapping (extension,mime-type)>
<!--
mime-type 元素包含了mime類型,如“text/plain”
Used in : mime-mapping
-->
<!ELEMENT mime-type (#PCDATA)>
<!--
param-name 元素包含參數(shù)的名稱,參數(shù)名必須唯一。
Used in : context-param,init-param
-->
<!ELEMENT param-name (#PCDATA)>
<!--
param-value元素包含了參數(shù)的值
Used in : context-param,init-param
-->
<!ELEMENT param-value (#PCDATA)>
<!--
realm-name 元素用于HTTP Basic 驗證中
Used in : login-config
-->
<!ELEMENT realm-name (#PCDATA)>
<!--
remote 元素包含了enterprise bean 的remote接口
Used in : ejb-ref
例如:
<remote>com.wombat.empl.EmployeeService</remote>
-->
<!ELEMENT remote (#PCDATA)>
<!--
res-auth 元素表明是web應用代碼控制資源,還是引擎控制資源。該元素的值只能是以下的一種
<res-auth>Application</res-auth>
<res-auth>Container</res-auth>
Used in : resource-ref
-->
<!ELEMENT res-auth (#PCDATA)>
<!--
res-ref-name 元素指明了資源管理器(連接工廠)的名稱,這個名稱是和java:comp/env cocntext關聯(lián)的JNDI名稱。該名稱必須是唯一的。
Used in:resource-ref
-->
<!ELEMENT res-ref-name (#PCDATA)>
<!--
res-sharing-scope 元素表明了從資源管理器連接工廠獲得的連接是否可以被共享。值必須是下面的一種:
<res-sharing-scope>Shareable</res-sharing-scope>
<res-sharing-scope>Unshareable</res-sharing-scope>
默認的值是Shareable
Used in : resource-ref
<!ELEMENT ref-sharing-scope (#PCDATA)>
<!--
res-type 元素描述了資源的數(shù)據(jù)類型。
Used in : resource-ref
-->
<!ELEMENT res-type (#PCDATA)>
<!--
resource-env-ref 元素描述了與web應用管理對象相關的資源。包含一個可選的描述,一個資源環(huán)境名稱,一個環(huán)境資源類型。
Used in :web-app
例如:
<resource-env-ref>
<resource-env-ref-name>jms/StockQueue</resource-env-ref-name>
<resource-env-type>javax.jms/Queue</resource-env-ref-type>
</resource-env-ref>
-->
<!ELEMENT resource-env-ref (description?,resource-env-ref-name,resource-env-ref-type)>
<!--
resource-env-ref-name元素一定一個環(huán)境資源名稱,這個名字是與java:comp/env context關聯(lián)的JNDI名稱,必須以唯一的。
Used in : resource-env-ref
-->
<!ELEMENT resource-env-ref-name (#PCDATA)>
<!--
resource-env-ref-type元素定義了環(huán)境資源的類型,是一個java類或接口的全名。
Used in: resource-env-ref
-->
<!ELEMENT resource-env-ref-type (#PCDATA)>
<!--
resource-ref 元素包含web應用涉及的外部資源的描述。它有一個可選的描述,一個資源管理連接工廠的名稱,一個資源管理連接工廠的類型id,一個驗證類型(Application 或 Container),和一個可選的連接共享的選項(Shareale 或 Unshareable)
Used in : web-app
例如:
<resource-ref>
<res-ref-name>jdbc/EmployeeApppDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
-->
<!ELEMENT resource-ref (description?,res-ref-name,res-type,res-auth,res-sharing-scope?)>
<!--
role-link 元素是與安全角色相關的。Role-link元素必須包含一個在security-role元素中定義的安全角色的名稱。
Used in: security-role-ref
-->
<!ELEMENT role-link (#PCDATA)>
<!--
role-name 元素包含一個安全角色的名稱,名稱必須遵守NMTOKEN規(guī)則。
Used in : auth-constraint,run-as,security-role,security-role-ref
-->
<!ELEMENT role-name (#PCDATA)>
<!--
run-as 元素包含一個可選的描述,和一個安全角色的名稱。
Used in : servlet
-->
<!ELEMENT run-as (description?,role-name)>
<!--
security-constraint元素用于安全約束與一個或多個web資源相關聯(lián)。
Used in :web-app
-->
<!ELEMENT security-constraint (display-name?,web-resource-collection+,auth-constraint?,user-data-constraint?)>
<!--
security-role元素包含安全角色的定義,它由一個可選的安全角色的描述,一個安全角色名稱組成。
Used in : web-app
例如:
<security-role>
<description>
this role includes all employees who are authorized to access the employee service application.
</description>
<role-name>employee</role-name>
</security-role>
-->
<!ELEMENT security-role (description?,role-name)>
<!--
security-role-ref 元素包含一個可選的描述,一個調(diào)用代碼中的安全角色名稱,一個可選的安全角色連接。如果安全角色沒有被指定,開發(fā)者必須選擇一個適當?shù)陌踩巧?。這個role-name元素的值必須是EJBConteext.isCallerInRole(String roleName)或HttpServletRequest.isUserInRole(String role)中的參數(shù)。
Used in :servlet
-->
<!ELEMENT security-role-ref (description?,role-name,role-link?)>
<!--
servlet 元素包含一個servlet的數(shù)據(jù)描述。如果load-on-startup元素中指定了一個jsp文件,該JSP將被裝入。
Used in : web-app
<!ELEMENT servlet (icon?,servlet-name,display-name?,description?,(servlet-class|jsp-file),init-param*,load-on-startup?,run-as?,security-role-ref*)>
<!--
servlet-class元素包含一個全名的servlet類名稱。
Used in : servlet
-->
<!ELEMENT servlet-class (#PCDATA)>
<!--
servlet-mapping元素定義了一個servlet和url的關聯(lián)
Used in : web-app
-->
<!ELEMENT servlet-mapping (servlet-name,url-pattern)>
<!--
servlet-name元素包含servlet的名稱,名稱是唯一的。
Used in : filter-mapping,servlet,servlet-mapping
-->
<!ELEMENT servlet-name (#PCDATA)>
<!--
session-config 元素定義了session參數(shù)
Used in : web-app
-->
<!ELEMENT session-config (session-timeout?)>
<!--
session-timeout 元素定義了一個默認的會話超時的時間,使用于web應用中的所有會話。時間必須是用分鐘的數(shù)值表示。
如果timeout是0或負數(shù),引擎將確保會話永遠不會超時。
Used in : session-config
-->
<!ELEMENT session-timeout (#PCDATA)>
<!--
small-icon 元素包含一個16*16圖標文件的名稱。
Used in : icon
例如:
<small-icon>employee-service-icon16*16.jpg</small-icon>
-->
<!ELEMENT small-icon (#pCDATA)>
taglib 元素用于描述JSP tag 庫。
Used in : web-app
-->
<!ELEMENT taglib (taglib-uri,taglib-location)>
<!--
taglib-location 元素包含一個資源定位,為tag庫找到tag描述文件
Used in:taglib
-->
<!ELEMENT taglib-location (#PCDATA)>
<!--
taglib-uri元素描述了一個URI
Used in: taglib
-->
<!ELEMENT taglib-uri (#PCDATA)>
<!--
transport-guarantee元素指定了客戶端和服務端的通信關系,有NONE,INTEGRAL,CONFIDENTIAL。NONE表示著應用不需要任何傳輸保障。INTEGRAL表示著在數(shù)據(jù)在客戶端到服務端的過程中不能有任何改變。CONFIDENTIAL表示在傳輸過程中防止其他傳輸內(nèi)容的干擾。在使用SSl時常用的就INTEGRAL或CONFIDENTIL。
Used in : user-data-constraint
<!ELEMENT transport-guarantee (#PCDATA)>
<!--
url-pattern 元素包含映射的url。必須符合11.2章中servlet API描述的規(guī)則。
Used in:filter-mapping,servlet-mapping,web-resource-collection
-->
<!ELEMENT url-pattern (#PCDATA)>
<!--
user-data-constraint元素用于表明數(shù)據(jù)在客戶端到服務器端是怎么保護的。
Used in :security-constraint
-->
<!ELEMENT user-data-constraint (description?,transport-guarantee)>
<!--
web-resource-collection元素用于web應用中安全限制的資源被那些方法使用,如果沒有指定,就可以被web用的所有方法調(diào)用。
Used in:security-constraint
-->
<!ELEMENT web-resource-collection (web-resource-name,description?,url-pattern*,http-method*)>
<!--
web-resource-name 包含一個web資源集合的名稱
Used in:web-resource-collection
-->
<!ELEMENT web-resource-name (#PCDATA)>
<!--
welcome-file元素包含了web應用中默認的訪問文件,如index.html
Used in:welcome-file-list
-->
<!ELEMENT welcome-file (#PCDATA)>
<!--
welcome-file-list包含welcome-file的列表
Used in:web-app
-->
<!ELEMENT welcome-file-list (welcome-file+)>
<!--
ID機制可以增加額外的部署信息,不允許加一個非標準的元素到標準的部署描述中
-->
<!ATTLIST auth-constraint id ID #IMPLIED>
<!ATTLIST auth-method id ID #IMPLIED>
<!ATTLIST context-param id ID #IMPLIED>
<!ATTLIST description id ID #IMPLIED>
<!ATTLIST display-name id ID #IMPLIED>
<!ATTLIST ejb-link id ID #IMPLIED>
<!ATTLIST ejb-local-ref id ID #IMPLIED>
<!ATTLIST ejb-ref id ID #IMPLIED>
<!ATTLIST ejb-ref-name id ID #IMPLIED>
<!ATTLIST ejb-ref-type id ID #IMPLIED>
<!ATTLIST env-entry id ID #IMPLIED>
<!ATTLIST env-entry-name id ID #IMPLIED>
<!ATTLIST env-entry-type id ID #IMPLIED>
<!ATTLIST env-enry-value id ID #IMPLIED>
<!ATTLIST error-code id ID #IMPLIED>
<!ATTLIST error-page id ID #IMPLIED>
<!ATTLIST exception-type id ID #IMPLIED>
<!ATTLIST extension id ID #IMPLIED>
<!ATTLIST filter id ID #IMPLIED>
<!ATTLIST filter-class id ID #IMPLIED>
<!ATTLIST filtere-mapping id ID #IMPLIED>
<!ATTLIST filter-name id ID #IMPLIED>
<!ATTLIST form-error-page id ID #IMPLIED>
<!ATTLIST form-login-config id ID #IMPLIED>
<!ATTLIST form-login-page id ID #IMPLIED>
<!ATTLIST home id ID #IMPLIED>
<!ATTLIST http-method id ID #IMPLIED>
<!ATTLIST icon id ID #IMPLIED>
<!ATTLIST init-param id ID #IMPLIED>
<!ATTLIST jsp-file id ID #IMPLIED>
<!ATTLIST large-icon id ID #IMPLIED>
<!ATTLIST listener id ID #IMPLIED>
<!ATTLIST listener-class id ID #IMPLIED>
<!ATTLIST load-on-startup id ID #IMPLIED>
<!ATTLIST local id ID #IMPLIED>
<!ATTLIST local-home id ID #IMPLIED>
<!ATTLIST location id ID #IMPLIED>
<!ATTLIST login-config id ID #IMPLIED>
<!ATTLIST mime-mapping id ID #IMPLIED>
<!ATTLIST mime-type id ID #IMPLIED>
<!ATTLIST param-name id ID #IMPLIED>
<!ATTLIST param-value id ID #IMPLIED>
<!ATTLIST realm-name id ID #IMPLIED>
<!ATTLIST remote id ID #IMPLIED>
<!ATTLIST res-auth id ID #IMPLIED>
<!ATTLIST res-ref-name id ID #IMPLIED>
<!ATTLIST res-sharing-scope id ID #IMPLIED>
<!ATTLIST res-type id ID #IMPLIED>
<!ATTLIST resource-env-ref id ID #IMPLIED>
<!ATTLIST resource-env-ref-name id ID #IMPLIED>
<!ATTLIST resource-env-ref-type id ID #IMPLIED>
<!ATTLIST resource-ref id ID #IMPLIED>
<!ATTLIST role-link id ID #IMPLIED>
<!ATTLIST role-name id ID #IMPLIED>
<!ATTLIST run-as id ID #IMPLIED>
<!ATTLIST security-constraint id ID #IMPLIED>
<!ATTLIST security-role id ID #IMPLIED>
<!ATTLIST security-role-ref id ID #IMPLIED>
<!ATTLIST sevlet id ID #IMPLIED>
<!ATTLIST servlet-class id ID #IMPLIED>
<!ATTLIST servlet-mapping id ID #IMPLIED>
<!ATTLIST servlet-name id ID #IMPLIED>
<!ATTLIST session-config id ID #IMPLIED>
<!ATTLIST session-timeout id ID #IMPLIED>
<!ATTLIST small-icon id ID #IMPLIED>
<!ATTLIST taglib id ID #IMPLIED>
<!ATTLIST taglib-location id ID #IMPLIED>
<!ATTLIST taglib-uri id ID #IMPLIED>
<!ATTLIST transport-guarantee id ID #IMPLIED>
<!ATTLIST rul-pattern id ID #IMPLIED>
<!ATTLIST user-data-constraint id ID #IMPLIED>
<!ATTLIST web-app id ID #IMPLIED>
<!ATTLIST web-resource-collection id ID #IMPLIED>
<!ATTLIST web-resource-name id ID #IMPLIED>
<!ATTLIST welcome-file id ID #IMPLIED>
<!ATTLIST welcome-file-list id ID #IMPLIED>
13.4 例子
13.4.1 基本的例子
本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內(nèi)容,請
點擊舉報。