A.5. jboss-web.xml 配置参考

简介

jboss-web.xml 是你的部署的 WEB-INFMETA-INF 里的一个文件。它包含 JBoss Web 容器对 Servlet 3.0 规格所添加的功能的配置信息。Servlet 3.0 规格所专有的设置位于相同目录下的 web.xml 里。

jboss-web.xml 文件里的顶层元素是 <jboss-web> 元素。
映射全局资源到 WAR 的要求

许多可用的设置将应用程序的 web.ml 里设置的要求映射到本地资源。关于 web.xml 设置的解释,请访问 http://docs.oracle.com/cd/E13222_01/wls/docs81/webapp/web_xml.html

例如,如果 web.xml要求 jdbc/MyDataSourcejboss-web.xml 可能映射全局数据源 java:/DefaultDS 来满足这个要求。WAR 使用全局数据源 jdbc/MyDataSource 来满足要求。

表 A.42. 常用的顶级属性

属性 描述
env-entry
web.xml 要求的 env-entry 的映射。
ejb-ref
web.xml 要求的 ejb-ref 的映射。
ejb-local-ref
web.xml 要求的 ejb-local-ref 的映射。
service-ref
web.xml 要求的 service-ref 的映射。
resource-ref
web.xml 要求的 resource-ref 的映射。
resource-env-ref
web.xml 要求的 resource-env-ref 的映射。
message-destination-ref
web.xml 要求的 message-destination-ref 的映射。
persistence-context-ref
web.xml 要求的 persistence-context-ref 的映射。
persistence-unit-ref
web.xml 要求的 persistence-unit-ref 的映射。
post-construct
web.xml 要求的 post-context 的映射。
pre-destroy
web.xml 要求的 pre-destroy 的映射。
data-source
web.xml 要求的 data-source 的映射。
context-root 应用程序的根上下文。默认值是部署的名称(不带 .war 后缀)。
virtual-host 应用程序接受请求的 HTTP 虚拟主机的名称。它指向 HTTP Host 头部的内容。
annotation 描述应用程序使用的注解。更多信息请参考 <annotation>
listener 描述应用程序使用的 listener。更多信息请参考 <listener>
session-config 这个元素和 web.xml<session-config> 元素的功能一样,包括它只是出于兼容性的考虑。
valve 描述应用程序使用的阀(Valve)。更多信息请参考 <valve>
overlay 添加至应用程序的覆盖(Overlay)的名称。
security-domain 应用程序使用的安全域的名称。安全域自身是通过基于 Web 的管理控制台或管理 CLI 来配置的。
security-role 这个元素和 web.xml<security-role> 元素的功能一样,它只是作为兼容性被包括的。
use-jboss-authorization 如果出现这个元素并包含了大小写敏感的值 “true”,JBoss Web 授权栈将被使用。如果它没出现或包含非 “true” 的值,那只会使用 Java EE 规格里指定的授权机制。这个元素是 JBoss EAP 6 里新引入的。
disable-audit 如果出现这个元素,Web 安全审计将被禁用。否则,它将被启用。Web 安全审计不是 Java EE 规格的一部分。这个元素是 JBoss EAP 6 里新引入的。
disable-cross-context 如果为 false,应用程序能够调用另外一个应用程序上下文。它默认为 true
下面的元素都具有子元素。
<annotation>

描述应用程序使用的注解。下表列出了 <annotation> 的子元素。

表 A.43. 注解配置元素

属性 描述
class-name
注解的类名
servlet-security
代表了 servlet 安全性的元素,如 @ServletSecurity
run-as
代表了 run-as 信息的元素,如 @RunAs
multi-part
代表了 multi-part 信息的元素,如 @MultiPart
<listener>

描述 listener。下表列出了 <listener> 的子元素。

表 A.44. Listener 配置元素

属性 描述
class-name
Listener 的类名
listener-type
condition 元素的列表,表示添加哪种 listener 到应用程序的 Context 里。有效值为:
CONTAINER
在 Context 里添加一个 ContainerListener。
LIFECYCLE
在 Context 里添加一个 LifecycleListener。
SERVLET_INSTANCE
在 Context 里添加一个 InstanceListener。
SERVLET_CONTAINER
在 Context 里添加一个 WrapperListener。
SERVLET_LIFECYCLE
在 Context 里添加一个 WrapperLifecycle。
module
包含 listener 类的模块的名称。
param
包含两个子元素的参数:<param-name><param-value>
<valve>

描述应用程序的库。它包含和 <listener> 相同的配置元素。