Servlet 3.1 introduce un cambiamento nel modo in cui l'elemento <absolute-ordering> quando il file web.xml contiene l'attributo metadata-complete="true".
In Servlet 3.0, quando l'attributo metadata-complete è impostato su "true", vengono utilizzati tutti gli archivi di frammenti web vengono utilizzati tutti gli archivi di frammenti web. Nel Servlet 3.1, l'elemento <absolute-ordering> viene considerato completo, il che fa sì che i frammenti web non elencati nell'elemento <absolute-ordering> vengono esclusi dall'elaborazione.
La funzione Servlet 3.1 potrebbe cambiare il comportamento esistente dell'applicazione attraverso l'esclusione dei frammenti web precedentemente inclusi.
Questa regola segnala l'elemento <name>B</name> nel file web-fragment.xml se il file web.xml contiene l'attributo metadata-complete="true" e l'elemento <absolute-ordering> non contiene una voce per il nome del frammento web nome del frammento web.
Il seguente esempio dimostra la modifica al comportamento quando si utilizza una combinazione del file web.xml e del file web-fragment.xml:
web.xml:
< span class= "XmlElement"> < assolute-ordering> < /span> < span class= "XmlElement"> < nome> < /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>
In Servlet 3.0, il frammento web B viene incluso nell'elaborazione. In Servlet 3.1, non è incluso. Per includere il frammento web il frammento B nell'elaborazione, aggiungere un elemento <name>B</name> nella posizione appropriata all'interno dell'elemento <absolute-ordering> nel file web.xml.
Per ulteriori informazioni sulle modifiche al comportamento di Servlet 3.1, vedere le seguenti risorse: Servlet 3.1 behavior changes.