JavaWeb的web.xml标签元素(一)
九、session-config
为Web应用中的javax.servlet.http.HttpSession对象定义参数
session-config
-session-timeout?
session-timeout元素用来指定默认的会话超时时间间隔,以分钟为单位。该元素值必须为整数。如果session-timeout元素的值为零或负数,则表示会话将永远不会超时。
XML语法:
<session-config><session-timeout>30</session-timeout>
</session-config>
十、mime-mapping
将mime类型映射到扩展名, 用于规定下载格式。
mime-mapping
-extension
-mime-type 模式=^\p{Cc}^\s]+/[^\p{Cc}^\s]+
extension元素用来描述扩展名。mime-type元素则为MIME类型。
XML语法:
<mime-mapping>
<extension>txt</extension>
<mime-type>text/plain</mime-type>
</mime-mapping>
十一、jsp-config
jsp-config
-taglib*
-taglib-uri
-taglib-location
-jsp-property-group*
-url-pattern+
-el-ignored?
-page-encoding?
-scripting-invalid?
-is-xml?
-include-prelude*
-include-coda*
-deferred-syntax-allowed-as-literal?
-trim-directive-whitespaces?
(1)jsp-property-group
JSP属性组类型用于分组多个文件,这样他们就可以得到全局属性信息。所有描述的文件都被认为是JSP文件。
(2)page-encoding
(3)scripting-invalid页编码的有效值是页编码页指令。这是一个翻译时间错误来命名不同的编码在页指令的页编码属性中一个JSP页面和一个JSP配置元素匹配页面。这也是一个翻译时间。在Prolog中命名不同的编码错误XML语法中的文档或文本声明在一个JSP配置元素中匹配文档。通过多机制,相同的编码命名是合法的。
(4)is-xml可以用来轻松地禁用脚本中的脚本JSP页面组。默认情况下,脚本是启用。
(5)include-prelude如果为true,则表示资源组。与URL模式匹配的是JSP文档,因此,必须将其解释为XML文档。如果为false,则假定资源不为JSP文档,除非有其他文档否则指示的属性组。
(6)include-coda包含序曲元素是上下文相关的必须与元素中的元素对应的路径Web应用程序。当元素存在时,给定路径将自动包含(AS)在一个包含指令中JSP页在这个JSP属性组中。
(7)deferred-syntax-allowed-as-literal?包含尾元素是上下文相关的。必须与元素中的元素对应的路径Web应用程序。当元素存在时,给定路径将自动包含(AS)在一个包含指令中JSP页在这个JSP属性组中。
字符序列#{为保留为EL表达式。因此,如果#{字符序列用作字符串文字,除非启用此元素(TRUE)。默认禁用(假)。(8)trim-directive-whitespaces?
指示只包含空白区域的模板文本。必须从响应输出中删除。它没有对JSP文档(XML语法)的影响。默认情况下禁用(假)。
(9)taglib-location元素包含一个位置,其中可以找到标记库的标记库描述符(TLD)文件。
XML语法:
<jsp-config><taglib><taglib-uri>/WEB-INF/tlds/c.tld</taglib-uri><taglib-location>/WEB-INF/tlds/c2.0.tld</taglib-location></taglib>
</jsp-config>
十二、resource-env-ref
指定对管理对象的servlet引用的声明,该对象与servlet环境中的资源相关联。
resource-env-ref
-description*
-resource-env-ref-name
-resource-env-ref-type?
resource-env-ref-name
元素是资源环境引用的名称,其值为servlet代码中使用的环境的入口名称。该名称是一个与java:comp/env相对应的Java命名和目录接口(JNDI)名称,该名称在整个Web应用中必须是惟一的。
XML语法:
<resource-env-ref> <resource-env-ref-name>res/MyResourceFactory</resource-env-ref-name> <resource-env-ref-type>com.mk.web.MyResource</resource-env-ref-type> </resource-env-ref>
十三、resource-ref
用于指定对外部资源的servlet引用的声明。
resource-ref
-description?
-res-ref-name
-res-type
-res-auth
-res-sharing-scope?
(1)res-ref-name
是资源工厂引用名的名称。该名称是一个与java:comp/env上下文相对应的JNDI名称,并且在整个Web应用中必须是惟一的。
(2)res-auth
servlet代码通过编程注册到资源管理器,或者是容器将代表servlet注册到资源管理器。该元素的值必须为Application或Container。
(3)res-sharing-scope
是否可以共享通过给定资源管理器连接工厂引用获得的连接。该元素的值必须为Shareable(默认值)或Unshareable。
XML语法:
<resource-ref><res-ref-name>jdbc/day12_09</res-ref-name><res-type>javax.sql.DataSource</res-type><res-auth>Container</res-auth></resource-ref>
十四、security-constraint
部署描述符中的security-constraint元素允许不通过编程就可以限制对某个资源的访问。
security-constraint
-display-name?
-web-resource-collection+
-web-resource-name
-description?,
-url-pattern*
-http-method*
-auth-constraint?
-description?
-role-name*
-user-data-constraint?
-description?
-transport-guarantee
(1) web-resource-collection元素
web-resource-collection元素标识需要限制访问的资源子集。在web-resource-collection元素中,可以定义URL模式和HTTP方法。如果不存在HTTP方法,就将安全约束应用于所有的方法。
web-resource-name是与受保护资源相关联的名称。http-method元素可被赋予一个HTTP方法,比如GET和POST。
(2) auth-constraint元素
auth-constraint元素用于指定可以访问该资源集合的用户角色。如果没有指定auth-constraint元素,就将安全约束应用于所有角色。
role-name元素包含安全角色的名称。
(3) user-data-constraint元素
user-data-constraint元素用来显示怎样保护在客户端和Web容器之间传递的数据。
transport-guarantee元素必须具有如下的某个值:
NONE,这意味着应用不需要传输保证。
INTEGRAL,意味着服务器和客户端之间的数据必须以某种方式发送,而且在传送中不能改变。
CONFIDENTIAL,这意味着传输的数据必须是加密的数据。
在大多数情况下,安全套接字层(SSL)用于INTEGRAL或CONFIDENTIAL。
XML语法:
<security-constraint> <web-resource-collection> <web-resource-name>test2</web-resource-name> <url-pattern>/*</url-pattern> </web-resource-collection> <auth-constraint> <role-name>tomcat1</role-name> </auth-constraint> </security-constraint>
十五、env-entry
用于指定应用环境入口。
env-entry
-description?
-env-entry-name
-env-entry-value?
-env-entry-type
(1)env-entry-name
元素包含Web应用环境入口的名称。该名称是一个与java:comp/env相对应的JNDI名称,并且在整个应用中必须是惟一的。
(2)env-entry-value
元素包含Web应用环境入口的值。该值必须是一个字符串类型的值,并且对于指定类型的构造函数是有效的,该函数获得一个String参数;或者对于java.lang.Character是有效的,java.lang.Character对象是一个字符。
(3)env-entry-type
元素包含环境入口值的完全限定的Java类型,该环境入口值是Web应用代码所期望的。这个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
XML语法:
<env-entry>
<env-entry-name>comtime</env-entry-name>
<env-entry-value>60000000</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
十六、ejb-ref
元素用于指定EJB的home接口的引用。
ejb-ref
-description?
-ejb-ref-name
-ejb-ref-type
-home
-remote
-ejb-link?
(1)ejb-ref-name
包含EJB引用的名称。EJB引用是servlet环境中的一个入口,它与java:comp/env相对应。这个名称在Web应用中必须是惟一的。为求一致性,推荐您的ejb-ref-name元素名称以ejb/开始。
(2)ejb-ref-name
元素包含引用的EJB的期望类型。这个值必须是Entity或Session。
(3)home
元素包含EJB的home接口的完全限定的名称。remote元素包含EJB的remote接口的完全限定的名称。
(4)ejb-ref或ejb-local-ref
元素中用到的ejb-link元素可指定EJB 引用被链接到另一个EJB。Ejb-link元素的值必须是同一个J2EE应用单元中某个EJB的ejb-name。Ejb-link元素中的名称可以由指定ejb-jar的路径名组成,该ejb-jar包含引用的EJB。目标bean的名称添加在后面,用字符a# 与路径名分隔。路径名与包含引用EJB的Web应用的WAR相对应。这就允许我们惟一标识具有相同ejb-name的多个企业bean。
十七、ejb-local-ref
用于声明对EJB的本地home的引用
ejb-local-ref
-description?
-ejb-ref-name
-ejb-ref-type
-local-home
-local
-ejb-link?
local元素包含EJB本地接口的完全限定的名称。Local-home元素包含EJB本地home接口的完全限定的名称。
十八、login-config
登录配置类型用于配置身份验证应该使用的方法,应该是域名称用于此应用程序和属性窗体登录机制需要的。
login-config
XML语法:-auth-method?
-realm-name? RealName元素指定域名称为在HTTP基本授权中使用。
-form-login-config?
<login-config><auth-method>FORM</auth-method><form-login-config><form-login-page>/login.html</form-login-page><form-error-page>/error.jsp</form-error-page></form-login-config>
</login-config>
十九、security-role
安全角色类型包含安全性的定义。角色定义由一个可选的角色描述和安全角色名称组成。
security-role
-description*
-role-name
XML语法:
<security-role><description>This role includes all employee</description><role-name>employee</role-name>
</security-role>
二十、message-destination
消息目的类型指定消息目的地。此描述的逻辑目的地元素通过部署程序映射到物理目的地。
message-destination
-description*
-display-name*
-icon*
-small-icon?
-large-icon?
-message-destination-name
-mapped-name?
(1)message-destination-name
消息目的地名称元素指定消息目的地的名称。这个名字必须是在部署文件中消息目的地名称中唯一的。
(2)mapped-name
此消息目的地的产品特定名称应该映射到。每个消息目的地参考引用此消息目的地的元素在引用的命名空间中定义名称组件。(这是一个名字在JNDI java:java:comp/env命名空间)许多应用服务器提供了一种方法将这些本地名称映射到已知的资源的名称应用服务器。这个映射的名称通常是全局的。JNDI名称,但可能是任何形式的名称。每一个本地名称应该映射到这个相同的全局名称。
应用服务器不需要支持任何映射名称的特殊形式或类型,也不是能力使用映射的名称。映射的名称是产品依赖性和经常依赖于安装。不映射名称的使用是可移植的。二十一、locale-encoding-mapping-list
区域编码映射列表包含一个或多个区域编码映射。
locale-encoding-mapping-list
-locale-encoding-mapping+
-locale
-encoding
(1)locale-encoding-mapping
区域编码映射包含区域名称和编码名称。区域名称必须是“语言代码”,如“JA”,由ISO-639或“语言代码国家代码”定义,比如“JAYJP”。国家代码是由ISO-3166定义的。
二十二、message-destination-ref
消息目的地引用元素包含声明部署组件对消息目的地的引用与部署组件中的资源相关联的环境。
message-destination-ref
-message-destination-ref-name?
-message-destination-type?
-message-destination-usage?
-message-destination-link?
-mapped-name?
-injection-target*
(1)message-destination-ref-name
消息目的地REF名称元素指定消息目的地引用的名称;值是使用的环境条目名称部署组件代码。名称是JNDI名称相对于java:java:comp/env上下文必须在EJB jar(对于企业bean)中唯一的部署文件(对于其他文件)。
(2)mapped-name
此资源应具有的产品特定名称映射到。此资源的名称,由资源的名称元素或默认值,是使用资源的本地组件。(这是一个名字在JNDI java:java:comp/env命名空间的多。)应用服务器提供了一种映射这些局部的方法。应用程序已知资源名称的名称服务器。这个映射的名称通常是全局的JNDI名称,但可能是任何形式的名称。应用服务器不需要支持任何映射名称的特殊形式或类型,也不是能力使用映射的名称。映射的名称是产品依赖性和经常依赖于安装。不映射名称的使用是可移植的。
XML语法:
<message-destination-ref><message-destination-ref-name>jms/StockQueue</message-destination-ref-name><message-destination-type>javax.jms.Queue</message-destination-type><message-destination-usage>Consumes</message-destination-usage><message-destination-link>CorporateStocks</message-destination-link>
</message-destination-ref>
二十三、service-ref
Service REF元素声明对Web的引用服务。它包含可选的描述、显示名称和图标,声明所需的服务接口,一个可选的WSDL文档位置,一个可选的集合JAX-RPC映射,服务元素的可选QN命名,要解决的一组可选的服务端点接口由容器到WSDL端口,以及可选的一组处理程序。
service-ref
-description*
-display-name*
-icon*
-small-icon?
-large-icon?
-service-ref-name
-service-interface
-service-ref-type?
-wsdl-file?
-jaxrpc-mapping-file?
-service-qname?
-port-component-ref*
-handler*
-handler-name
-handler-class
-init-param*
-param-name
-param-value
-description*
-soap-header*
-description*
-display-name*-icon*
-small-icon?
-large-icon?
-handler-chains?
-service-name-pattern?
-port-name-pattern?
-protocol-bindings?
-handler+ 与上面的handle类型一致
-mapped-name{0,}
-injection-target*
二十四、persistence-context-ref
持久性上下文REF元素包含声明部署组件引用持久化上下文的方法在部署组件中关联的环境。
persistence-context-ref
-persistence-context-ref-name
-persistence-unit-name
-persistence-context-type
-persistence-property
-mapped-name{0,}
-injection-target*
--description*
XML语法:
<persistence-context-ref><persistence-context-ref-name>myPersistenceContext</persistence-context-ref-name>
</persistence-context-ref>
<persistence-context-ref><persistence-context-ref-name>myPersistenceContext</persistence-context-ref-name><persistence-unit-name>PersistenceUnit1</persistence-unit-name><persistence-context-type>Extended</persistence-context-type>
</persistence-context-ref>
二十五、persistence-unit-refType
持久单元引用元素包含声明部署组件对持久化单元的引用在部署组件中关联的环境。
persistence-unit-refType
-description*
-persistence-unit-ref-name
-persistence-unit-name
-mapped-name{0,}
-injection-target*
二十六、post-construct
生命周期回调类型指定一个方法类在生命周期事件发生时被调用。注意,每个类可能只有一个生命周期回调。任何给定事件的方法,并且该方法可能不超载。
如果生命周期回调类元素丢失定义回调的类被假定为描述符中的作用域中的组件类其中出现回调定义。
post-construct*
-lifecycle-callback-class
-lifecycle-callback-method
二十七、pre-destroy
生命周期回调类型指定一个方法类在生命周期事件发生时被调用。注意,每个类可能只有一个生命周期回调。任何给定事件的方法,并且该方法可能不超载。
如果生命周期回调类元素丢失定义回调的类被假定为描述符中的作用域中的组件类其中出现回调定义。
pre-destroy*
-lifecycle-callback-class
-lifecycle-callback-method