Le pagine di errore Whitelabel sembrano ottuse e potrebbero avere un impatto negativo sull'esperienza dell'utente. Scopri come creare pagine di errore personalizzate utilizzando Thymeleaf.

Il software presenta errori. Anche le migliori applicazioni incontreranno errori ad un certo punto. Pertanto, ogni applicazione dovrebbe disporre di alcuni meccanismi di gestione degli errori.

Spring Boot fornisce una pagina di errore Whitelabel predefinita come componente della sua configurazione automatica per la gestione degli errori. Tuttavia, l'aspettativa è che gli sviluppatori creino una pagina di errore personalizzata che sostituisca la pagina di errore Whitelabel. In questo articolo imparerai come personalizzare la pagina di errore per le tue applicazioni Spring Boot.

Pagina di errore Whitelabel di Spring Boot

Quando un'applicazione Spring Boot rileva un errore, richiede il file /error URL. Se non è presente alcuna visualizzazione in questa posizione, viene visualizzata la pagina di errore Whitelabel:

instagram viewer

La pagina di errore Whitelabel indica la data e l'ora dell'errore, insieme al fuso orario corrispondente. Inoltre, indica il tipo di errore e il codice associato. La pagina Whitelabel lo afferma questo è un errore 404 (pagina non trovata). Questo perché l'applicazione di esempio non dispone di una mappatura per l'URL "/prodotti".

La maggior parte delle informazioni presentate nella pagina di errore Whitelabel sono prese da attributi di errore specifici. La visualizzazione degli errori di Spring Boot ha accesso ai seguenti attributi di errore:

  • errore: il motivo dell'errore.
  • timestamp: la data e l'ora in cui si è verificato l'errore.
  • stato: il codice dello stato dell'errore.
  • eccezione: il nome della classe dell'eccezione root (se l'errore è il risultato di un'eccezione).
  • Messaggio: il messaggio di eccezione (se l'errore è il risultato di un'eccezione).
  • errori: qualsiasi risultato da un'eccezione BindingResult (se l'errore è il risultato di un'eccezione).
  • traccia: l'analisi dello stack delle eccezioni (se l'errore è il risultato di un'eccezione).
  • sentiero: il percorso URL in cui si verifica l'errore.

Creazione di una pagina di errore con Thymeleaf

L'applicazione Spring Boot dovrebbe avere una singola pagina di errore archiviata in un modello di "errore". L'estensione di questo modello varierà a seconda della tecnologia del modello che decidi di utilizzare. Ad esempio, se opti per un modello Java Server Pages (JSP), il nome del file dovrebbe essere errore.jsp.

Tuttavia, questa applicazione Spring Boot di esempio utilizza il motore del modello Thymeleaf. Quindi, il nome del modello è errore.html. Dovresti inserire costantemente il modello di errore nel file modello cartella, sotto il risorse directory con tutti gli altri file modello.

Il file 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>

La pagina di errore personalizzata svolge diverse attività importanti. Dichiara il verificarsi di un errore. Successivamente viene messo in mostra la richiesta HTTP che ha causato l'errore. Inoltre fornisce all'utente il codice di stato associato all'errore. Ma se l’utente non ha familiarità con i codici di stato, la pagina spiega anche il significato del codice attraverso l’attributo error.

L'ultima riga di testo presenta all'utente un messaggio in caso di eccezione. Quindi, il collegamento alla fine consente all'utente di tornare alla home page. IL errore.html il file utilizza un foglio di stile CSS e due immagini per creare la seguente vista:

Mantieni la pagina di errore facile da usare

Lo scopo principale della pagina di errore è informare l'utente che si è verificato un errore specifico. Tuttavia, questa pagina di errore è ancora un aspetto dell'applicazione. Pertanto, è fondamentale garantire che anche la pagina di errore sia facile da usare.

Ciò significherà scegliere di utilizzare gli attributi di errore che comunicano l'errore in un modo più semplice. Pertanto, potresti scegliere di utilizzare l'attributo path invece dell'attributo trace, che è molto più complesso e contiene dettagli che l'utente non ha bisogno di conoscere.

Inoltre, non vuoi fornire a un utente casuale informazioni eccessive sul funzionamento interno della tua applicazione, poiché ciò potrebbe comprometterne la sicurezza.