absolute-ordering エレメントの処理での振る舞いの変更を確認する

web.xml ファイルに metadata-complete="true" 属性が含まれている場合の <absolute-ordering> エレメントの処理方法が Servlet 3.1 で変更されました。 Servlet 3.0 では、metadata-complete 属性が "true" に設定されている場合、すべての Web フラグメント・アーカイブが使用されます。Servlet 3.1 では、<absolute-ordering> エレメントは完全であると見なされるため、<absolute-ordering> エレメントにリストされていない Web フラグメントは処理から除外されます。 Servlet 3.1 フィーチャーは、以前は含まれていた Web フラグメントを除外することで、既存のアプリケーション動作を変更する可能性があります。

この規則により、web.xml ファイルに metadata-complete="true" 属性が含まれていて、かつ、<absolute-ordering> エレメントに Web フラグメント名の項目が含まれていない場合、web-fragment.xml ファイル内の <name>B</name> エレメントにフラグを立てます。

以下の例は、web.xml ファイルと web-fragment.xml ファイルの組み合わせを使用するときの振る舞いの変更を示します。

web.xml:

<absolute-ordering>
	<name>A</name>
	<others/>
</absolute-ordering>

web-fragment.xml:

<web-fragment>
	<name>B</name>
</web-fragment>

Servlet 3.0 では、Web フラグメント B は処理に包含されます。Servlet 3.1 では、包含されません。Web フラグメント B を処理に含めるには、web.xml ファイルの <absolute-ordering> エレメント内の適切な場所に <name>B</name> エレメントを追加します。

Servlet 3.1 での振る舞いの変更について詳しくは、 Servlet 3.1 での振る舞いの変更のリソースを参照してください。