http://jinnianshilongnian.iteye.com/blog/1750736
笔记来自于对如上文章的我的复述。
Web-fragment:
产生目的:为了给开发人员更好的可插拔性和更少的配置,在Servlet 3.0的规范中,引入了web模块部署描述符片段(web fragment)的概念。
概念:web fragment是web.xml的部分或全部,web fragment是web应用的一个逻辑分区,相当于对web.xml进行扩展。
作用:以前一个web应用的任何配置都需要在web.xml中进行,因此会使得web.xml变得很混乱,而且灵活性差,因此Servlet 3.0可以将每个Servlet、Filter、Listener打成jar包,各自带自己的配置文件,即web-fragment.xml ;。也就是说web-fragment.xml有助于将Servlet、Filter、Listener更好地封装,有助于模块化。
生效条件:metadata-complete属性没有指定或设置为“false”,此时Servlet容器会负责将各个jar中的web fragment合并到主web.xml。合并发生在相关fragment的注解处理之后。
要注意的问题:web.xml和web-fragment.xml顺序(依赖于after、before、others,详细见顶头文章中(因规则太多,难以简化表述))、web.xml和web-fragment合并规则(详细见顶头文章中(因规则太多,难以简化表述))
其他:
1,与web.xml形式上的区别:描述符的顶级元素必须是web-fragment且对应的描述符文件必须被称为web-fragment.xml,相关元素的顺序在web-fragment.xml 和 web.xml也是不同的
2,文件结构:
我的资源中也有 servlet 3.1规范中文版 ,有兴趣可以下载自己看下。