[Java EE 7] Web Fragments
程序员文章站
2022-03-02 11:01:30
...
web fragment 文件可以是一部分或者全部的 web.xml 文件,它放在工程或者 jar 包的 META-INF 文件夹下。Web 容器将会自动加载全部的 web fragment 文件,而不需要开发者参与。
它可以定义几乎全部 web.xml 文件可以定义的内容。但它的根元素是 web-fragment,并且文件名必须是 web-fragment.xml。有了 web fragment 可以对应用程序做更好的逻辑分离。
开发人员可以通过 web.xml 文件中的 元素来指定资源的绝对顺序。也可以使用 web-fragment.xml 文件中的 元素来指定资源的相对顺序。当绝对顺序和相对顺序发生冲突的时候,绝对顺序将覆盖相对顺序。 在绝对顺序中,使用 元素表示资源的名称并且制定资源的顺序:
上面的 web.xml 片段制定了资源的顺序是先 MyServlet 再 MyFilter。
在 web-fragment.xml 文件的 中可以使用零个或一个 和 元素,用来制定相对顺序。这两个元素用来指定当前资源的顺序是在指定的资源之前还是在指定的资源之后。可以使用 元素来表示其它的所有资源。
上面的代码定义了 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/
它可以定义几乎全部 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/
推荐阅读
-
centos7下搭建Java Web项目环境
-
初学Java Web(7)——文件的上传和下载
-
linux(center OS7)安装JDK、tomcat、mysql 搭建java web项目运行环境
-
CentOS 7 配置java web 环境(安装mysql数据库)
-
CentOS 7 配置java web 环境(安装jdk1.7与tomcat7)
-
linux(center OS7)安装JDK、tomcat、mysql 搭建java web项目运行环境
-
《Oracle Java EE编程自学与面试指南》01-02、Web应用类型
-
使用Java EE 在eclipse 开发动态的Web工程(Java web项目)
-
centos7下搭建Java Web项目环境
-
linux(center OS7)安装JDK、tomcat、mysql 搭建java web项目运行环境