概述与作用:

部署描述符是用于描述Web应用程序的元数据,并为Java EE Web应用程序服务器部署和运行Web应用程序提供指令。从传统上来说,所有元数据都来自于部署描述符文件/WEB-INF/web.xml。该文件通常包含Servlet、监听器和过滤器的定义,以及HTTP会话、JSP和应用程序的配置选项。Java EE 6中的Servlet 3.0添加了使用注解和Java Configuration API配置Web应用程序的能力。它还增加了Web片段的概念-- 应用程序中的JAR文件可以包含Servlet、过滤器和监听器的配置,这些配置将被添加到必要JAR文件的部署描述符文件/META-INF/web-fragment.xml中。Web片段也可以使用注解和Java Configuration API。

Java EE 6对Web应用程序部署的这个改变为文件部署增加了巨大的复杂性。为了简化操作,可以配置Web片段的顺序,从而按照特定的顺序扫描和激活它们。可以通过下面两种方式实现:

每个Web片段的web-fragment.xml文件中可以包含一个<ordering>元素,该元素可以使用嵌套的<before>和<after>标签来控制该Web片段在哪个Web片段之前或之后激活。这些标签包含嵌套的<name>元素用于指定与当前片段有顺序关系的Web片段。<before>和<after>也可以包含嵌套的<others>元素,表示该片段应该在任何未指定的片段之前或之后激活。

如果未创建特定的Web片段,并且不能控制它的内容,那么仍然可以在应用程序的部署描述符中控制Web片段的顺序。通过使用/WEB-INF/web.xml中的<absolute-ordering>元素与它的嵌套的<name>和<others>元素,可以配置绑定的Web片段的绝对顺序,该配置将覆盖来自于Web片段的任何顺序指令。

默认情况下,Servlet 3.0及更高版本的环境将扫描Web应用程序和Web片段中的Java EE Web应用程序注解,用于配置Servlet、监听器、过滤器等。如果需要,可以在根<web-app>或<web-fragment>元素中添加特性metadata-complete="true",禁止扫描和注解配置。还可以在部署描述符中添加元素<absolute-ordering/>(不包含任何嵌套元素),禁止应用程序中的所有Web片段。

Development desciptor的更多相关文章

  1. Beginners Guide To Web Development

    Web Development Front End Development Back End Development

  2. iOS---The maximum number of apps for free development profiles has been reached.

    真机调试免费App ID出现的问题The maximum number of apps for free development profiles has been reached.免费应用程序调试最 ...

  3. [转] Agile Software Development 敏捷软件开发

    原文作者:kkun 原文地址:http://www.cnblogs.com/kkun/archive/2011/07/06/agile_software_development.html 敏捷是什么 ...

  4. 《3D Math Primer for Graphics and Game Development》读书笔记2

    <3D Math Primer for Graphics and Game Development>读书笔记2 上一篇得到了"矩阵等价于变换后的基向量"这一结论. 本篇 ...

  5. 《3D Math Primer for Graphics and Game Development》读书笔记1

    <3D Math Primer for Graphics and Game Development>读书笔记1 本文是<3D Math Primer for Graphics and ...

  6. 软件开发流程 Software development process

    软件开发流程(Software development process)即软件设计思路和方法的一般过程,包括设计软件的功能和实现的算法和方法.软件的总体结构设计和模块设计.编程和调试.程序联调和测试以 ...

  7. 翻译:常见问题——ABAP Development Tools for Eclipse

    ABAP Development Tools for Eclipse(简称ADT)是一个基于Eclipse的全新ABAP IDE,这篇文档试图回答有关ADT的最重要的常见问题.这只是一个开始,如果你对 ...

  8. React Native 红屏之Could not connect to development server.

    React Native 是目前最火的开发框架,其他不说了,上Bug. 按照  React Native iOS环境搭建 高级版 在mac上  搭建 React Native  环境,运行 项目 若出 ...

  9. Microsoft Client Development MVP 2013 - 2014

    周末一直沉浸在醉意中,为婚礼忙忙碌碌了一个月,终于完成了人生一大喜事. 清晨仍旧有一些宿醉得感觉, 看到来自微软的邮件,获得Microsoft Client Development MVP 2013 ...

随机推荐

  1. js上 十六、数组-2

    十六.数组-2 #4.3万能法:splice(): #4.3.1.删除功能 ​ 语法:arr.splice(index,num); //num表示删除的长度 ​ 功能:从下标index位置开始,删除n ...

  2. 简单学习 SQL and NOSql

    文章参考链接::https://www.cnblogs.com/xrq730/p/11039384.html 结构化数据.非结构化数据与半结构化数据 文章的开始,聊一下结构化数据.非结构化数据与半结构 ...

  3. Promise 之初探

    陈旧的知识应该更新一下了,先尝试一下 Promise ,主要参考 https://www.cnblogs.com/whybxy/p/7645578.html 定义一个函数 直接上干货,定义一个函数: ...

  4. QEMU网络模式(一)——bridge

    网络配置 QEMU支持的网络模式 qemu-kvm主要向客户机提供了4种不同模式的网络. 1)基于网桥(bridge)的虚拟网卡; 2)基于NAT的虚拟网络 3)QEMU内置的用户模式网络(user ...

  5. webform中配置服务器控件的样式

    前台 Style <asp:Label ID="Label1" runat="server" Text="Label" Style=& ...

  6. Git常用命令大全,迅速提升你的Git水平

    原博文 https://mp.weixin.qq.com/s/hYjGyIdLK3UCEVF0lRYRCg 示例 初始化本地git仓库(创建新仓库) git init                 ...

  7. 【终极版】利用阿里云云解析API实现动态域名解析(ddns),搭建私有服务器【含可执行文件和源码】

    前言:懒人可以直接往下看,有代码和全部资源可以下载.此文章是先前文章的定时版,主要是添加了定时执行的功能,并且将代码中的配置项放置到了app.config文件中,方便不懂开发的朋友修改使用.未经许可请 ...

  8. 二、LINUX文本处理三剑客之grep

    1. grep一般格式:grep [选项] 基本正则表达式 [文件],其中基本正则表达式需要用引号引起来 引号引起来的作用:a.防止被误解为shell命令,b.可以用来查找多个单词组成的字符串 gre ...

  9. 编程漫谈(二十):如何自学编程及Java、上手真实开发及转行程序员的建议

    前路漫漫,吾将上下而求索! 最近有时在知乎上逛逛,发现很多人对自学编程及转行程序员有困惑.我是在25岁读研时转程序员,正赶上好时候(中国云计算刚刚起步及移动互联网正红的阶段),同时又走了不少弯路,因此 ...

  10. redis加锁的几种实现

    redis加锁的几种实现 2017/09/21 1. redis加锁分类 redis能用的的加锁命令分表是INCR.SETNX.SET 2. 第一种锁命令INCR 这种加锁的思路是, key 不存在, ...