質問: Tomcat8.0.50の web.xml に以下の記述を記述しているのですが、指定した error.jsp を読まずにデフォルトのエラーページ(HTTPステータス 500)が表示されます。 なお、Tomcat5.5で実施した時は、 以下の記述で error.jsp を表示する事が出来ました。 どのようにしたら error.jsp を表示する事が、 出来るのでしょうか。 よろしくお願いいたします。 ``` 500 /WEB-INF/jsp/error.jsp ```
回答: アプリケーション固有のエラーページを定義したいのであれば、アプリケーション内の`WEB-INF/web.xml`に``を定義してみて下さい。 `conf/web.xml`に以下のような定義をした場合、これはすべてのアプリケーションに適用されるグローバルなエラーページの設定になります。 ``` 500 /WEB-INF/jsp/error.jsp ``` あるアプリケーションでシステムエラー(HTTP 500エラー)が発生したときに、そのアプリケーション固有の`WEB-INF/web.xml`に``の定義があれば、それが適用されますが、無ければ、上記のグローバルな``の定義が適用されます。 例えば、webappsにexamplesというアプリケーションがあり、このアプリケーション内でシステムエラーが発生した場合を考えます。 `webapps/examples/WEB-INF/web.xml`に以下の``の定義があれば、`webapps/examples/examples_error.jsp`が適用されますが、この定義が無ければ、グローバルの定義が効いて`webapps/examples/WEB-INF/jsp/error.jsp`が適用されます。 ``` 500 /examples_error.jsp ``` ちなみに、 > > なお、Tomcat5.5で実施した時は、 > > 以下の記述で error.jsp を表示する事が出来ました。 > > > は、Tomcatのバージョンによる動作の違いではないと思います。