web fragment 文件可以是一部分或者全部的 web.xml 文件,它放在工程或者 jar 包的 META-INF 文件夹下。Web 容器将会自动加载全部的 web fragment 文件,而不需要开发者参与。
它可以定义几乎全部 web.xml 文件可以定义的内容。但它的根元素是 web-fragment,并且文件名必须是 web-fragment.xml。有了 web fragment 可以对应用程序做更好的逻辑分离。
<web-fragment>
<filter>
<filter-name>MyFilter</filter-name>
<filter-class>org.example.MyFilter</filter-class>
<init-param>
<param-name>myInitParam</param-name>
<param-value>...</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>MyFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-fragment>
开发人员可以通过 web.xml 文件中的 元素来指定资源的绝对顺序。也可以使用 web-fragment.xml 文件中的 元素来指定资源的相对顺序。当绝对顺序和相对顺序发生冲突的时候,绝对顺序将覆盖相对顺序。 在绝对顺序中,使用 元素表示资源的名称并且制定资源的顺序:
<web-app>
<name>MyApp</name>
<absolute-ordering>
<name>MyServlet</name>
<name>MyFilter</name>
</absolute-ordering>
</web-app>
上面的 web.xml 片段制定了资源的顺序是先 MyServlet 再 MyFilter。
在 web-fragment.xml 文件的 中可以使用零个或一个 和 元素,用来制定相对顺序。这两个元素用来指定当前资源的顺序是在指定的资源之前还是在指定的资源之后。可以使用 元素来表示其它的所有资源。
<web-fragment>
<name>MyFilter</name>
<ordering>
<after>MyServlet</after>
</ordering>
</web-fragment>
上面的代码定义了 MyFilter 的顺序在 MyServlet 之后。
如果 web.xml 中的 metadata-complete 设置为 true,那么 web-fragment.xml 将不会被处理。web.xml 拥有最高的优先级,当配置发生冲突的时候,以 web.xml 为准。
如果在 web-fragment.xml 中没有 元素,并且 web.xml 中也没有 元素,那么资源将会处于无序的状态。
文章来源:
http://www.aptusource.org/2014/04/java-ee-7-web-fragments/
分享到:
相关推荐
Java EE 7 Essentials是一本专门为有Java EE基础的读者设计的教材,旨在帮助他们进一步提高相关技术能力。这本书由Arun Gupta编写,他有着丰富的Java EE方面的经验。Java EE 7 Essentials适合那些想要深入了解Java...
Java Platform, Enterprise Edition (Java EE) 作为企业级应用部署平台,一直遵循着健壮性、Web 服务及易于部署等主题进行演进。Java EE 在 Java 社区过程(Java Community Process, JCP)的推动下成为企业信息技术...
Apache Tomcat是一款广泛应用的开源Java Servlet容器,它实现了Java EE的Web应用服务器规范,特别是Servlet和JSP。这里我们讨论的是Tomcat的两个特定版本——Tomcat 6和Tomcat 7。 Tomcat 6是Tomcat的一个较旧版本...
这个规范文档是由Java社区过程(Java Community Process,JCP)制定的,并且是开源和免费的,开发者可以下载并使用这个规范文档来开发符合Java EE标准的Web应用。 文档中提到的“Sun Microsystems, Inc.”是Java...
Java™ Platform, Enterprise Edition 6(Java EE 6)是一个重要的里程碑,旨在简化企业级和Web应用程序的开发和部署。这个版本带来了许多创新和改进,包括对轻量级应用程序的支持,以及一系列新特性和框架的更新。 ...
- 发布于2013年,进一步增强了性能和可扩展性,支持Java EE 7规范。 - 引入了NIO2(非阻塞I/O)的改进,提供了更高的并发性能。 - 提供了更好的HTTPS处理和SSL配置,增强了安全性。 - 更新了Jasper引擎,支持JSP...
Apache Tomcat 7.0.96 是一个广泛使用的开源软件,它是一个实现了Java Servlet、JavaServer Pages(JSP)和Java EE的部分Web应用程序服务器,主要由Apache软件基金会开发和维护。这个版本的Tomcat是7.x系列的一个...
相比于更早的版本,7.0引入了一些增强,比如改进了部署流程,支持Web Fragments,以及增强了安全管理。 在解压"apache-tomcat-7.0.65.zip"后,你会得到以下主要目录和文件: 1. **bin** - 包含启动和停止Tomcat的...
3. **WebSocket API**:虽然在Java EE 7中被正式引入,但Tomcat 7.0.6已经开始支持WebSocket API,这允许双向通信,为实时Web应用提供了基础。 4. **更好的性能和稳定性**:每个新版本都致力于提升性能和稳定性,...
Servlet 3.0 是Java EE 6规范的一部分,引入了若干重要的改进,其中之一就是Web片段(Web Fragments)。Web片段允许开发者将Web应用的配置分散到多个小的、独立的XML文件中,而不是集中在单一的web.xml中。这极大地...
1. **Servlet 3.0**:Tomcat 7支持Servlet 3.0规范,该规范引入了异步处理、Pluggable Servlets、Web Fragments等新特性,极大地增强了服务器性能和开发者体验。 2. **JSP 2.2**:这个版本支持JSP 2.2标准,允许...
Servlet 3.0是Java EE 6的一部分,引入了多项重要更新,如: 1. **注解驱动的配置**:开发者可以通过在Java类上使用注解来声明Servlet、Filter和Listener,减少了web.xml文件的依赖。 2. **异步处理**:Servlet 3.0...
MyEclipse 2015还具有JPA UI开发企业级报表、图像编辑器、ICEfaces、Java EE开发、Java Profiler、EJB、JSP/EL、JSTL、JAXB、JCA、AOP、Java Servlets、JSR286(Portlets)、Web Fragments等特性,这些都大大扩展了...
JSP 2.0规范作为Java EE 5的一部分,引入了许多增强功能,旨在提高开发者的生产力和灵活性。以下是一些关键知识点: 1. **表达式语言(Expression Language, EL)**:EL是JSP 2.0中新增的一种简洁的脚本语言,用于...
Eclipse Indigo SR2 (3.7.2) w/ Web Tools Platform 3.3.2 (ie: the Java EE Developer bundle) Installation In Eclipse, go to Help >> Install New Software... then either use the update site URL, or ...