Tomcat6でオリジナルのエラーページを設定する方法

Tomcatを利用したWebアプリケーションを作成した場合に、エラーページをデフォルトのままにしていませんか?

https://lh4.googleusercontent.com/-JZRfG-Cy7Jw/UJE8XwMXiDI/AAAAAAAANrM/rgPuVEZYqzY/s800/Apache%2520Tomcat_6.0.32%2520-%2520Error%2520report.jpg

ユーザにとっては、Webアプリケーションの画面デザインと大きくかけ離れた画面は衝撃的であり、ユーザに不信感を与えてしまいます。

Tomcatでは、Apacheと同様にHTTPステータスコードに対して、それぞれエラーページを設定することができるので、Webアプリケーションと統一感のある独自のエラーページを設定しましょう。

例として、ステータスコード404と500のエラーページを設定しています。その他のステータスコードについては、以下のリンクを参照して下さい。

HTTPステータスコード - Wikipedia

web.xml

web.xmlに、error-pageディレクティブを追加します。

<error-page>
  <error-code>404</error-code>
  <location>/WEB-INF/view/error/404.jsp</location>
</error-page>
<error-page>
  <error-code>500</error-code>
  <location>/WEB-INF/view/error/500.jsp</location>
</error-page>

まとめ

SAStrutsを利用しているなら、locationの値に[*.jsp]とすることで[common.jsp]が読み込まれ、[f:url]などのtaglibが利用できるようになります。

これにより、スタイルシートへのパス等に悩まされることがないのでオススメです。