logo

Spring Boot – Whitelabel-Fehlerseite anpassen

Wenn im Spring Boot-Ökosystem keine benutzerdefinierte Fehlerseite zur Behandlung eines bestimmten Fehlers vorhanden ist, behandelt Spring Boot den Fehler standardmäßig mithilfe von Whitelabel-Fehlerseite.

Whitelabel_Error_Page



Dies ist die Standard-Whitelabel-Fehlerseite. Wir können diese Whitelabel-Fehlerseite auch anpassen. Lassen Sie uns in diesem Artikel einige Ansätze zur Anpassung dieser Whitelabel-Fehlerseite diskutieren.

Notiz: Wir können die Whitelabel-Fehlerseite deaktivieren, indem wir die Eigenschaft server.error.whitelabel.enabled auf false setzen.
server.error.whitelabel.enabled=false

IDE-Setup für das Projekt

Lassen Sie uns unsere IDE einrichten, indem wir das Spring Boot-Projekt erstellen. Um ein Spring Boot-Projekt zu erstellen, navigieren Sie zu Dateimenü > Neu > Andere > Frühlingsstarterprojekt



springboot_starter_project_creation

Konfigurieren Sie das Projekt entsprechend Ihren Anforderungen.

Notiz: Hier werden Java Version 8, Maven Build Management Tool und Eclipse IDE für Java- und Webentwickler 2023-06 verwendet



spring_starter_project_window

Beim Einrichten des Projekts können wir auch die folgenden Abhängigkeiten mit einem Klick hinzufügen.

Erforderliche Abhängigkeiten

Spring Boot DevTools Thymeleaf Spring Web Services>

Und sobald Sie diese Abhängigkeiten hinzugefügt haben, klicken Sie auf „ beenden „Das Projekt wird erstellt.

b+ Baum

Adding_dependencies_in_spring_starter_project

Projekt-Setup für die Anwendung

Schritt 1: Abhängigkeiten hinzufügen

Sobald das Projekt erstellt ist, konfigurieren wir unsere pom.xml-Datei (wenn Sie Maven verwenden), indem wir die erforderlichen Abhängigkeiten hinzufügen.

Spring-Boot-Starter-Webdienste : Zur Handhabung von HTTP-Methoden und -Endpunkten

Datenbank Java verbinden
  org.springframework.boot  spring-boot-starter-web-services>

spring-boot-starter-thymeleaf: Thymeleaf ist eine Vorlagen-Engine und bietet ein strukturierteres Format für die Vorlagen.

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

Spring-Boot-Devtools: Es handelt sich um eine optionale Abhängigkeit, bietet aber viele Entwicklungstools und Funktionen zum Erstellen von Anwendungen.

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

Schritt 2: Erstellen der Ressourcen

Sobald die Datei pom.xml konfiguriert ist, erstellen wir die Ressourcen.

  • Navigieren Sie zu „ src/main/resources ` Ordner in der Projektstruktur. Erstellen Sie darin einen Ordner mit dem Namen „ Vorlagen ` um die HTML-Vorlagen zu speichern. Erstellen Sie nun eine benutzerdefinierte Fehlerseite mit einem „ .html ` Erweiterung. Zum Beispiel habe ich die HTML-Vorlage als „ Fehlerseite `.html.

package_explorer

  • Schreiben Sie nun Ihre individuelle Logik, mit der Sie die standardmäßige Whitelabel-Fehlerseite überschreiben möchten.

error_page.html:

HTML




> <>html>>> <>head>>> ><>title>>Fehlertitel> Kopf>

Benutzerdefinierte Fehlerseiteh1>

Etwas ist schief gelaufen. Bitte versuchen Sie es später noch einmal.p> body> html>>

>

>

Schritt 3: Überschreiben der Standardeigenschaften

  • Standardmäßig verwendet Spring Boot die Datei „ application.properties ` oder ` application.yml ` Datei zum Festlegen der Eigenschaften einer Anwendung. Um das Standardverhalten der Spring Boot-Anwendung zu überschreiben, können wir die Eigenschaften in diesen Dateien entsprechend Ihrem Build-Management-Tool hinzufügen und konfigurieren. Standardmäßig verwendet Spring Boot die Whitelabel-Fehlerseite. Um dieses Verhalten zu überschreiben, konfigurieren wir einige Eigenschaften.
  • Kopieren Sie die folgenden Eigenschaften und fügen Sie sie in das ` ein application.properties ` (wenn Sie Maven verwenden)

//Diese Eigenschaft wird verwendet, um den Pfad unserer Vorlage anzugeben
spring.mvc.view.prefix=/templates/

//Diese Eigenschaft wird verwendet, um die Erweiterung oder den Typ der Vorlagen anzugeben
spring.mvc.view.suffix=.html

//Diese auf „false“ gesetzte Eigenschaft gibt an, dass wir die standardmäßige Whitelabel-Fehlerseite nicht verwenden möchten server.error.whitelabel.enabled=false

//Diese Eigenschaft wird verwendet, um den Pfad unserer Fehlerseite anzugeben
server.error.path=/error

Arraylist sortiert Java

Schritt 4: Erstellen der Controller-Klasse

Lassen Sie uns die Controller-Klasse unseres Projekts erstellen. Navigieren Sie dazu zum Standardpaket unseres Projekts. Erstellen Sie ein Unterpaket mit dem Namen „ Regler ` und erstellen Sie innerhalb des Controller-Pakets die Controller-Klasse. Zum Beispiel habe ich die Controller-Klasse „“ genannt ControllerClass.java `.

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'>;> >}> > }>

C-Code-Array von Zeichenfolgen
>

>

Erklärung zum Erstellen der Controller-Klasse:

Im obigen Code implementiert unsere ControllerClass die ` ErrorController ` um Fehler darzustellen. In der Klasse haben wir ein ` definiert handleError `-Methode, die mit ` annotiert ist @GetMapping ` mit dem Endpunkt angegeben ` /Fehler ` und Rückgabe der Vorlage ` Fehlerseite `.

Projektstruktur

Stellen Sie sicher, dass Ihr Projekt die folgende Projektstruktur aufweist.

Projektstruktur

Schritte zum Ausführen der Anwendung

Um die Anwendung auszuführen, Klicken Sie mit der rechten Maustaste auf das Projekt > Rennen wie > Spring Boot-App.

springboot_application_run

Ausgabe der benutzerdefinierten Fehlerseite:

Versuchen Sie, einen Pfad anzugeben, der nicht in der Controller-Klasse behandelt wird. Es wird die benutzerdefinierte Fehlerseite angezeigt.

benutzerdefinierte_Fehlerseite