logo

Spring Boot – ホワイトラベル エラー ページのカスタマイズ

Spring Boot エコシステムでは、特定のエラーを処理するカスタム エラー ページがない場合、Spring Boot はデフォルトで、 ホワイトラベルのエラーページ。

ホワイトラベル_エラー_ページ



これはデフォルトのホワイトラベル エラー ページです。このホワイトラベル エラー ページをカスタマイズすることもできます。この記事では、このホワイトラベル エラー ページをカスタマイズするためのいくつかのアプローチについて説明します。

注記: ホワイトラベル エラー ページを無効にするには、server.error.whitelabel.enabled プロパティを false に設定します。
server.error.whitelabel.enabled=false

プロジェクトの IDE セットアップ

Spring Boot プロジェクトを作成して IDE をセットアップしましょう。 Spring Boot プロジェクトを作成するには、次の場所に移動します。 ファイルメニュー > 新しい > その他 > 春のスタータープロジェクト



springboot_starter_project_creation

カトリーナ・カイフ

要件に従ってプロジェクトを構成します。

注記: ここでは、Java バージョン 8、Maven ビルド管理ツール、および Java および Web 開発者向けの Eclipse IDE 2023-06 を使用します。



spring_starter_project_window

プロジェクトのセットアップ中に、クリックするだけで次の依存関係を追加することもできます。

必要な依存関係

Spring Boot DevTools Thymeleaf Spring Web Services>

これらの依存関係を追加したら、「」をクリックします。 仕上げる ' プロジェクトが作成されます。

spring_starter_project での依存関係の追加

アプリケーションのプロジェクト設定

ステップ 1: 依存関係を追加する

プロジェクトが作成されたら、必要な依存関係を追加して pom.xml ファイルを構成しましょう (Maven を使用している場合)。

スプリングブートスターターウェブサービス : HTTP メソッドとエンドポイントを処理するため

  org.springframework.boot  spring-boot-starter-web-services>

スプリングブートスタータータイムリーフ: Thymeleaf はテンプレート エンジンであり、より構造化された形式のテンプレートを提供します。

  org.springframework.boot  spring-boot-starter-thymeleaf>

スプリングブート開発ツール: これはオプションの依存関係ですが、アプリケーションを構築するための多くの開発ツールと機能を提供します。

  org.springframework.boot  spring-boot-devtools  runtime  true>

ステップ 2: リソースの作成

pom.xml ファイルが構成されたら、リソースを作成しましょう。

  • ` に移動します src/メイン/リソース ` プロジェクト構造内のフォルダー。その中に ` という名前のフォルダーを作成します テンプレート ` HTML テンプレートを保存します。次に、` を使用してカスタム エラー ページを作成します。 .html ` 拡張子。たとえば、HTML テンプレートに ` という名前を付けました。 エラーページ `.html.

パッケージエクスプローラー

サンプルJavaコード
  • ここで、デフォルトのホワイトラベル エラー ページをオーバーライドするカスタマイズされたロジックを作成します。

エラーページ.html:

HTML




> <>html>>>> <>head>>>> ><>title>>エラータイトル> 頭>

カスタム エラー ページh1>

何か問題が発生しました。後でもう一度お試しください。p> body> html>>>

>

>

ステップ 3: デフォルトのプロパティをオーバーライドする

  • デフォルトでは、Spring Boot は ` アプリケーションのプロパティ ` または ` アプリケーション.yml ` ファイルを使用してアプリケーションのプロパティを設定します。 Spring Boot アプリケーションのデフォルトの動作をオーバーライドするには、ビルド管理ツールに従ってこれらのファイルにプロパティを追加して構成します。デフォルトでは、Spring Boot は Whitelabel エラー ページを使用します。この動作をオーバーライドするには、いくつかのプロパティを設定しましょう。
  • 次のプロパティをコピーして ` 内に貼り付けます。 アプリケーションのプロパティ ` (Mavenを使用している場合)

//このプロパティはテンプレートのパスを示すために使用されます
spring.mvc.view.prefix=/templates/

//このプロパティは、テンプレートの拡張子またはタイプを示すために使用されます
spring.mvc.view.suffix=.html

//このプロパティを false に設定すると、デフォルトのホワイトラベル エラー ページを使用したくないことを示します server.error.whitelabel.enabled=false

//このプロパティは、エラー ページのパスを指定するために使用されます
サーバー.エラー.パス=/エラー

ステップ 4: コントローラー クラスの作成

プロジェクトのコントローラー クラスを作成しましょう。これを行うには、プロジェクトのデフォルト パッケージに移動します。 ` という名前のサブパッケージを作成します コントローラ ` そしてコントローラー パッケージ内にコントローラー クラスを作成します。たとえば、コントローラー クラスに ` という名前を付けました。 コントローラクラス.java `。

ジャワ




package> com.example.demo.controller;> > import> org.springframework.boot.web.servlet.error.ErrorController;> import> org.springframework.stereotype.Controller;> import> org.springframework.web.bind.annotation.GetMapping;> > @Controller> public> class> ControllerClass>implements> ErrorController {> > >@GetMapping>(>'/error'>)> >public> String handleError() {> >return> 'error_page'>;> >}> > }>

>

アルファベータ枝刈り

>

コントローラークラス作成の説明:

上記のコードでは、ControllerClass が ` エラーコントローラー ` を使用してエラーを表示します。クラス内で ` を定義しました。 ハンドルエラー ` で注釈が付けられたメソッド @GetMapping ` エンドポイントで指定 ` /エラー ` そしてテンプレートを返す ` エラーページ `。

プロジェクトの構造

プロジェクトが次のプロジェクト構造になっていることを確認してください。

プロジェクトの構造

アプリケーションを実行する手順

アプリケーションを実行するには、 プロジェクトを右クリックします > として実行 > スプリングブートアプリ。

springboot_application_run

カスタム エラー ページの出力:

コントローラークラスで処理されないパスを指定してみてください。カスタムエラーページが表示されます。

カスタムエラーページ