Spring Bootでエラー画面をカスタマイズ(静的なHTML)|White Label Page


この記事では、
Spring Boot アプリケーションで、例外などのエラーが発生した場合に、ブラウザにWhite Label Pageではなく、静的なエラーページ(HTML)を表示します。

開発環境


・Windows 10 64bit

・Eclipse 2018-12(Eclipse 4.10)

・Java 8

・Spring Boot 2.1.3(Spring Tool Suite 4)

・Thymeleaf 3.0.11

デフォルトのエラーページ(White Label Page)

Spring Boot アプリケーションは、エラーが発生した場合、デフォルトで、ブラウザにWhitelabel Error Pageを表示します。

例外(Exception)やHTTP エラーなどのエラーが発生すると、ブラウザでは、以下のような画面を表示します。

・例外(Exception)


・HTTP エラー(404)


カスタムエラーページ(HTML)

ここでは、
エラーが発生した場合、ブラウザにWhite Label Pageを表示しないようにします。

静的なエラーページを表示する場合は、プログラムや設定ファイルをさわることなく、HTMLファイルを配置するのみで、カスタマイズすることができます。

すべてのエラー(例外(Exception)など)

以下のディレクトリ直下にエラーページを配置します。

エラーが発生した場合、ブラウザにこのエラーページが表示されます。

・ディレクトリ

src/main/resources/templates

・エラーページ

error.html


例えば、
「error.html」(以下のソースコード)を配置すると、エラーが発生した場合、この「error.html」が表示されます。

・ソースコード
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Error</title>
</head>
<body>
エラー
</body>
</html>


HTTP エラーが発生した場合も、このエラーページが表示されてしまいますが、HTTP エラーが発生した場合は、このエラーページではなく、他のエラーページを表示するようにできます。

HTTPエラー

以下のディレクトリ直下にエラーページを配置します。

特定のステータスコード(HTMLファイル名に指定)のHTTP エラーが発生した場合、ブラウザにこのエラーページが表示されます。

・ディレクトリ

src/main/resources/templates/error

・エラーページ

xxx.html

* xxxは、404などのステータスコードを指定します。4xx、5xxのように指定することもできます。



例えば、
「404.html」(以下のソースコード)を配置すると、HTTP 404のエラーが発生した場合、この「404.html」が表示されます。

・ソースコード
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>404</title>
</head>
<body>
404
</body>
</html>


参考

29.1.11 Error Handling


スポンサーリンク

1 件のコメント :

  1. 初めまして。

    貴重な情報をありがとうございます!

    返信削除