Whitelabel-Fehlerseiten sehen langweilig aus und können sich negativ auf die Benutzererfahrung auswirken. Erfahren Sie, wie Sie mit Thymeleaf benutzerdefinierte Fehlerseiten erstellen.

Bei der Software treten Fehler auf. Auch bei den besten Anwendungen kann es irgendwann einmal zu Fehlern kommen. Daher sollte jede Anwendung über einige Fehlerbehandlungsmechanismen verfügen.

Spring Boot stellt als Komponente seiner automatischen Konfiguration zur Fehlerbehandlung eine standardmäßige Whitelabel-Fehlerseite bereit. Dennoch wird erwartet, dass Entwickler eine benutzerdefinierte Fehlerseite erstellen, die die Whitelabel-Fehlerseite ersetzt. In diesem Artikel erfahren Sie, wie Sie die Fehlerseite für Ihre Spring Boot-Anwendungen anpassen.

Whitelabel-Fehlerseite von Spring Boot

Wenn eine Spring Boot-Anwendung auf einen Fehler stößt, fordert sie den an /error URL. Wenn an dieser Stelle keine Ansicht vorhanden ist, wird die Whitelabel-Fehlerseite angezeigt:

Auf der Whitelabel-Fehlerseite werden Datum und Uhrzeit des Fehlers sowie die entsprechende Zeitzone angegeben. Darüber hinaus werden der Fehlertyp und der zugehörige Code angezeigt. Auf der Whitelabel-Seite steht das

Dies ist ein 404-Fehler (Seite nicht gefunden). Dies liegt daran, dass die Beispielanwendung keine Zuordnung für die URL „/products“ hat.

Die meisten der auf der Whitelabel-Fehlerseite angezeigten Informationen stammen aus bestimmten Fehlerattributen. Die Fehleransicht von Spring Boot hat Zugriff auf die folgenden Fehlerattribute:

  • Fehler: der Grund für den Fehler.
  • Zeitstempel: Datum und Uhrzeit des Auftretens des Fehlers.
  • Status: der Fehlerstatuscode.
  • Ausnahme: der Klassenname der Root-Ausnahme (wenn der Fehler das Ergebnis einer Ausnahme ist).
  • Nachricht: die Ausnahmemeldung (wenn der Fehler das Ergebnis einer Ausnahme ist).
  • Fehler: Alle Ergebnisse einer BindingResult-Ausnahme (wenn der Fehler das Ergebnis einer Ausnahme ist).
  • verfolgen: der Ausnahme-Stack-Trace (wenn der Fehler das Ergebnis einer Ausnahme ist).
  • Weg: Der URL-Pfad, in dem der Fehler auftritt.

Erstellen einer Fehlerseite mit Thymeleaf

Ihre Spring Boot-Anwendung sollte über eine einzelne Fehlerseite verfügen, die in einer „Fehler“-Vorlage gespeichert ist. Die Erweiterung dieser Vorlage variiert je nach der von Ihnen verwendeten Vorlagentechnologie. Wenn Sie sich beispielsweise für eine Java Server Pages (JSP)-Vorlage entscheiden, sollte der Dateiname lauten error.jsp.

Diese Beispielanwendung von Spring Boot verwendet jedoch die Thymeleaf-Template-Engine. Der Name der Vorlage lautet also error.html. Sie sollten Ihre Fehlervorlage konsequent in der platzieren Vorlage Ordner, unter dem Ressourcen Verzeichnis mit all Ihren anderen Vorlagendateien.

Die Datei „error.html“.

html>
<htmlxmlns: th="http://www.thymeleaf.org">
 <head>
<title> Errortitle>
<linkrel="stylesheet"th: href="@{/css/style.css}"/>
 head>
 <bodyth: style="'background: url(/images/background1.jpg)
 no-repeat center center fixed;'">
<divclass="container" >
<h1>An error has occurred...h1>
<imgth: src="@{/images/error-icon.png}"
width="100px" height="100px" />
<p>There seems to be a problem with the page you requested
(<spanth: text="${path}">span>).p>
<pth: text="${'The status code is ' + status
+ ', which means that the page was ' + error + '.'}">p>
<pth: text="${'Further details: ' + message + '.'}">p>
<aclass="btn"href="/home">Back to homea>
div>
 body>
html>

Die angepasste Fehlerseite erfüllt mehrere wichtige Aufgaben. Es erklärt das Auftreten eines Fehlers. Anschließend wird es präsentiert die HTTP-Anfrage das den Fehler ausgelöst hat. Darüber hinaus liefert es dem Benutzer den Statuscode, der dem Fehler zugeordnet ist. Wenn der Benutzer jedoch nicht mit Statuscodes vertraut ist, erklärt die Seite auch die Bedeutung des Codes über das Fehlerattribut.

Die letzte Textzeile präsentiert dem Benutzer eine Nachricht im Falle einer Ausnahme. Anschließend ermöglicht der Link am Ende dem Benutzer die Rückkehr zur Startseite. Der error.html Die Datei verwendet ein CSS-Stylesheet und zwei Bilder, um die folgende Ansicht zu erstellen:

Halten Sie Ihre Fehlerseite benutzerfreundlich

Der Hauptzweck der Fehlerseite besteht darin, den Benutzer darüber zu informieren, dass ein bestimmter Fehler aufgetreten ist. Diese Fehlerseite ist jedoch immer noch ein Aspekt der Anwendung. Daher ist es von entscheidender Bedeutung, sicherzustellen, dass die Fehlerseite auch benutzerfreundlich ist.

Dies bedeutet, dass Sie sich dafür entscheiden müssen, die Fehlerattribute zu verwenden, die den Fehler auf unkompliziertere Weise kommunizieren. Sie können sich also dafür entscheiden, das Pfadattribut anstelle des Trace-Attributs zu verwenden, das viel komplexer ist und Details enthält, die der Benutzer nicht wissen muss.

Sie möchten auch keinem zufälligen Benutzer übermäßig viele Informationen über das Innenleben Ihrer Anwendung zur Verfügung stellen, da dies die Sicherheit der Anwendung gefährden könnte.