Сервлет 3.1 вносит изменения в способ обработки элемента <absolute-ordering> когда файл web.xml содержит атрибут metadata-complete="true" атрибут.
В сервлете 3.0, когда атрибут metadata-complete установлен в "true", используются все архивы веб-фрагментов используются все архивы веб-фрагментов. В сервлете 3.1, элемент <absolute-ordering> считается полным, что в результате чего веб-фрагменты, не перечисленные в элементе <absolute-ordering> исключаются из обработки.
Исключение тех веб-фрагментов, которые ранее были включены, при использовании
компонента Servlet 3.1 может привести к изменению алгоритма работы приложения.
Это правило помечает элемент <name>B</name> в файле web-fragment.xml файле, если web.xml содержит атрибут metadata-complete="true" и элемент <absolute-ordering> элемент не содержит записи для имени веб-фрагмента.
Приведенный ниже пример демонстрирует изменение алгоритма работы при использовании файла web.xml в сочетании с файлом web-fragment.xml:
web.xml:
< span class= "XmlElement"> < absolute-ordering> < /span> < span class= "XmlElement"> < name> < /span> A < span class="XmlElement"> < /name> < /span> < span class= "XmlElement"> < others/> < /span> < span class="XmlElement"> < /absolute-ordering> < /span>
web-fragment.xml:
< span class= "XmlElement"> < web-fragment> < /span> < span class= "XmlElement"> < name> < /span> B < span class="XmlElement"> < /name> < /span> < span class= "XmlElement"> < /web-fragment> < /span>
В Servlet 3.0 веб-фрагмент B включается в обработку. В Servlet 3.1 он не включается в обработку. Чтобы включить веб- фрагмент B в обработку, добавьте элемент <name>B</name> в соответствующую позицию внутри <absolute-ordering> в файле web.xml.
Дополнительные сведения об изменении поведения Servlet 3.1 см. в ресурсе: Изменение поведения Servlet 3.1.