Servlets Web-fragment.xml中的排序
我正在为OCEJWCD做准备。我是来回答这个问题的。我想正确的答案是,顺序是无法预测的。这是错误的。有人能帮我理解吗 问:在一个应用程序中,有三个web-fragment.xml。如下所示。这些描述符的解析顺序。假设web.xml中没有绝对顺序 Web片段AServlets Web-fragment.xml中的排序,servlets,web-fragment,Servlets,Web Fragment,我正在为OCEJWCD做准备。我是来回答这个问题的。我想正确的答案是,顺序是无法预测的。这是错误的。有人能帮我理解吗 问:在一个应用程序中,有三个web-fragment.xml。如下所示。这些描述符的解析顺序。假设web.xml中没有绝对顺序 Web片段A <web-fragment> <name>A</name> <ordering> <before> <others/> <
<web-fragment>
<name>A</name>
<ordering>
<before>
<others/>
<name>B</name>
</before>
</ordering>
A.
B
Web片段B:
<web-fragment>
<name>B</name>
<ordering>
<before>
<others/>
<name>C</name>
</before>
</ordering>
B
C
Web片段C:
<web-fragment>
<name>C</name>
<ordering>
<before>
<others/>
</before>
</ordering>
C
提前感谢。来自规范
表示文档必须在具有
名称与嵌套元素中指定的内容匹配
有一个特殊的元素,可以包含零次或一次
在或元素内,或直接在
要素元素必须按如下方式处理:
接着
如果元素包含嵌套的,则文档将
移动到已排序文档列表的开头。如果有多个
声明的文件,它们都将在
已排序文档的列表,但在此类文档组中的排序
未指定文档。
这清楚地表明A、B和C之间的顺序是不确定的
但还有这个部分
在或元素内,如果存在元素,
但不是其父元素中的唯一元素,而是另一个元素
在订购过程中必须考虑父级中的元素
现在A和B都属于这一类,它们的web片段中除了一个元素之外还有一个元素。在这种情况下,规范规定在订购过程中必须考虑其他元素。所以A应该在B之前,B应该在C之前。瞧,它现在是确定的,顺序是
为了进行测试,我们可以编写3个过滤器,在每个web片段中定义一个过滤器,并检查加载顺序。感谢您的解释。我不知道元素部分。这解释了很多。非常感谢。