ServletContextListener インターフェースでの振る舞いの変更を確認する

Servlet 3.1 仕様では、ServletContextListener が web.xml ファイルまたは web-fragment.xml ファイル内に宣言されず、 @WebListener アノテーションも付けられていない場合、ServletContextListener インターフェースの実装者は、サーブレット、フィルター、またはリスナーをプログラマチックに構成することは許可されないということが明確にされました。 結果として、 そういったプログラマチックな構成を実行する ServletContext インターフェースでの呼び出しは、 UnsupportedOperationException という結果になります。 この規則により、javax.servlet.ServletContextListener インターフェースを実装していて、かつ、 @WebListener アノテーションが付いておらず、web.xml ファイルまたは web-fragment.xml 内で listener-class として定義もされていないクラスにフラグを立てます。

以下のメソッドが UnsupportedOperationException をスローする可能性があります。

これらのメソッドの詳細については、 Interface ServletContext を参照してください。

Servlet 3.1 での動作の変更について詳しくは、 リソース『 Servlet 3.1 behavior changes』を参照してください。