Paginile de eroare cu etichetă albă arată netede și ar putea avea un impact negativ asupra experienței utilizatorului. Aflați cum să creați pagini de eroare personalizate folosind Thymeleaf.

Software-ul întâmpină erori. Chiar și cele mai bune aplicații vor întâmpina erori la un moment dat. Prin urmare, fiecare aplicație ar trebui să aibă niște mecanisme de gestionare a erorilor.

Spring Boot oferă o pagină implicită de eroare Whitelabel ca componentă a configurației sale automate pentru gestionarea erorilor. Cu toate acestea, se așteaptă ca dezvoltatorii să creeze o pagină de eroare personalizată care să înlocuiască pagina de eroare Whitelabel. În acest articol, veți învăța cum să personalizați pagina de eroare pentru aplicațiile Spring Boot.

Pagina de eroare etichetă albă a Spring Boot

Când o aplicație Spring Boot întâmpină o eroare, solicită /error URL. Dacă nu există nicio vizualizare în această locație, va afișa pagina de eroare Whitelabel:

Pagina de eroare Whitelabel indică data și ora erorii, împreună cu fusul orar corespunzător. În plus, indică tipul de eroare și codul asociat. Pagina Whitelabel afirmă că

instagram viewer
aceasta este o eroare 404 (pagina nu a fost gasita). Acest lucru se datorează faptului că aplicația eșantion nu are mapare pentru adresa URL „/products”.

Majoritatea informațiilor prezentate pe pagina de eroare Whitelabel sunt preluate din anumite atribute de eroare. Vizualizarea erorilor Spring Boot are acces la următoarele atribute de eroare:

  • eroare: motivul erorii.
  • timestamp-ul: data și ora la care apare eroarea.
  • stare: codul de stare de eroare.
  • excepție: numele clasei excepției rădăcină (dacă eroarea este rezultatul unei excepții).
  • mesaj: mesajul de excepție (dacă eroarea este rezultatul unei excepții).
  • erori: Orice rezultat dintr-o excepție BindingResult (dacă eroarea este rezultatul unei excepții).
  • urmă: urmărirea stivei de excepții (dacă eroarea este rezultatul unei excepții).
  • cale: Calea URL unde apare eroarea.

Crearea unei pagini de eroare cu Thymeleaf

Aplicația dvs. Spring Boot ar trebui să aibă o singură pagină de eroare stocată într-un șablon de „eroare”. Extensia acestui șablon va varia în funcție de tehnologia șablonului pe care decideți să o utilizați. De exemplu, dacă optați pentru un șablon Java Server Pages (JSP), numele fișierului ar trebui să fie error.jsp.

Cu toate acestea, acest exemplu de aplicație Spring Boot folosește motorul de șablon Thymeleaf. Deci, numele șablonului este error.html. Ar trebui să plasați în mod constant șablonul de eroare în șablon folder, sub resurse directorul cu toate celelalte fișiere șablon.

Fișierul 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>

Pagina de eroare personalizată îndeplinește câteva sarcini importante. Declară apariția unei erori. Ulterior, se prezintă cererea HTTP care a declanșat eroarea. În plus, furnizează utilizatorului codul de stare asociat cu eroarea. Dar dacă utilizatorul nu este familiarizat cu codurile de stare, pagina explică și semnificația codului prin atributul de eroare.

Linia finală de text prezintă utilizatorului un mesaj în cazul unei excepții. Apoi, linkul de la sfârșit permite utilizatorului să navigheze înapoi la pagina de pornire. The error.html fișierul folosește o foaie de stil CSS și două imagini pentru a crea următoarea vizualizare:

Păstrați pagina de eroare prietenoasă pentru utilizator

Scopul principal al paginii de eroare este de a informa utilizatorul că a apărut o anumită eroare. Cu toate acestea, această pagină de eroare este încă un aspect al aplicației. Prin urmare, este crucial să vă asigurați că pagina de eroare este ușor de utilizat.

Aceasta va însemna să optați pentru utilizarea atributelor de eroare care comunică eroarea într-un mod mai simplu. Deci, ați putea alege să utilizați atributul cale în loc de atributul urmă, care este mult mai complex și conține detalii pe care utilizatorul nu trebuie să le cunoască.

De asemenea, nu doriți să oferiți unui utilizator aleatoriu informații excesive despre funcționarea interioară a aplicației dvs., deoarece acest lucru ar putea compromite securitatea aplicației.