Οι σελίδες σφαλμάτων Whitelabel φαίνονται αμβλύ και θα μπορούσαν να επηρεάσουν αρνητικά την εμπειρία χρήστη. Μάθετε πώς να δημιουργείτε προσαρμοσμένες σελίδες σφαλμάτων χρησιμοποιώντας το Thymeleaf.

Το λογισμικό αντιμετωπίζει σφάλματα. Ακόμη και οι καλύτερες εφαρμογές θα αντιμετωπίσουν σφάλματα σε κάποια στιγμή. Επομένως, κάθε εφαρμογή θα πρέπει να διαθέτει ορισμένους μηχανισμούς χειρισμού σφαλμάτων.

Το Spring Boot παρέχει μια προεπιλεγμένη σελίδα σφάλματος Whitelabel ως στοιχείο της αυτόματης διαμόρφωσης για τον χειρισμό σφαλμάτων. Ωστόσο, αναμένεται ότι οι προγραμματιστές θα δημιουργήσουν μια προσαρμοσμένη σελίδα σφάλματος που θα αντικαταστήσει τη σελίδα σφάλματος Whitelabel. Σε αυτό το άρθρο, θα μάθετε πώς να προσαρμόσετε τη σελίδα σφάλματος για τις εφαρμογές σας Spring Boot.

Σελίδα σφάλματος λευκής ετικέτας Spring Boot

Όταν μια εφαρμογή Spring Boot αντιμετωπίζει ένα σφάλμα, ζητά το /error URL. Εάν δεν υπάρχει προβολή σε αυτήν τη θέση, εμφανίζεται η σελίδα σφάλματος Whitelabel:

Η σελίδα σφάλματος Whitelabel αναφέρει την ημερομηνία και την ώρα του σφάλματος, μαζί με την αντίστοιχη ζώνη ώρας. Επιπλέον, υποδεικνύει τον τύπο σφάλματος και τον αντίστοιχο κωδικό. Η σελίδα Whitelabel αναφέρει ότι

instagram viewer
αυτό είναι ένα σφάλμα 404 (Η σελίδα δεν βρέθηκε). Αυτό συμβαίνει επειδή το δείγμα εφαρμογής δεν έχει αντιστοίχιση για τη διεύθυνση URL "/products".

Οι περισσότερες από τις πληροφορίες που παρουσιάζονται στη σελίδα σφάλματος Whitelabel προέρχονται από συγκεκριμένα χαρακτηριστικά σφάλματος. Η προβολή σφάλματος του Spring Boot έχει πρόσβαση στα ακόλουθα χαρακτηριστικά σφάλματος:

  • λάθος: ο λόγος του σφάλματος.
  • χρονική σήμανση: η ημερομηνία και η ώρα που παρουσιάζεται το σφάλμα.
  • κατάσταση: ο κωδικός κατάστασης σφάλματος.
  • εξαίρεση: το όνομα της κλάσης της εξαίρεσης ρίζας (αν το σφάλμα είναι αποτέλεσμα εξαίρεσης).
  • μήνυμα: το μήνυμα εξαίρεσης (αν το σφάλμα είναι αποτέλεσμα εξαίρεσης).
  • Σφάλματα: Οποιοδήποτε αποτέλεσμα από μια εξαίρεση BindingResult (εάν το σφάλμα είναι αποτέλεσμα εξαίρεσης).
  • ίχνος: το ίχνος στοίβας εξαίρεσης (αν το σφάλμα είναι αποτέλεσμα εξαίρεσης).
  • μονοπάτι: Η διαδρομή URL όπου παρουσιάζεται το σφάλμα.

Δημιουργία σελίδας σφάλματος με το Thymeleaf

Η εφαρμογή Spring Boot θα πρέπει να έχει μια μεμονωμένη σελίδα σφάλματος αποθηκευμένη σε ένα πρότυπο "σφάλμα". Η επέκταση αυτού του προτύπου θα ποικίλλει ανάλογα με την τεχνολογία προτύπου που θα αποφασίσετε να χρησιμοποιήσετε. Για παράδειγμα, εάν επιλέξετε ένα πρότυπο Java Server Pages (JSP), το όνομα του αρχείου θα πρέπει να είναι error.jsp.

Ωστόσο, αυτό το δείγμα εφαρμογής Spring Boot χρησιμοποιεί τη μηχανή προτύπων Thymeleaf. Έτσι, το όνομα του προτύπου είναι error.html. Θα πρέπει να τοποθετείτε με συνέπεια το πρότυπο σφάλματος στο πρότυπο φάκελο, κάτω από το πόροι κατάλογο με όλα τα άλλα αρχεία προτύπων σας.

Το αρχείο 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>

Η προσαρμοσμένη σελίδα σφάλματος ολοκληρώνει αρκετές σημαντικές εργασίες. Δηλώνει την εμφάνιση σφάλματος. Στη συνέχεια, προβάλλει το αίτημα HTTP που πυροδότησε το σφάλμα. Επιπλέον, παρέχει στον χρήστη τον κωδικό κατάστασης που σχετίζεται με το σφάλμα. Αλλά εάν ο χρήστης δεν είναι εξοικειωμένος με τους κωδικούς κατάστασης, η σελίδα εξηγεί επίσης την έννοια του κώδικα μέσω του χαρακτηριστικού σφάλματος.

Η τελευταία γραμμή κειμένου παρουσιάζει στον χρήστη ένα μήνυμα σε περίπτωση εξαίρεσης. Στη συνέχεια, ο σύνδεσμος στο τέλος επιτρέπει στον χρήστη να πλοηγηθεί πίσω στην αρχική σελίδα. ο error.html Το αρχείο χρησιμοποιεί ένα φύλλο στυλ CSS και δύο εικόνες για να δημιουργήσει την ακόλουθη προβολή:

Διατηρήστε τη σελίδα σφαλμάτων σας φιλική προς το χρήστη

Ο πρωταρχικός σκοπός της σελίδας σφάλματος είναι να ενημερώσει τον χρήστη ότι έχει συμβεί ένα συγκεκριμένο σφάλμα. Ωστόσο, αυτή η σελίδα σφάλματος εξακολουθεί να είναι μια πτυχή της εφαρμογής. Επομένως, η διασφάλιση ότι η σελίδα σφάλματος είναι επίσης φιλική προς το χρήστη είναι ζωτικής σημασίας.

Αυτό θα σημαίνει ότι θα επιλέξετε να χρησιμοποιήσετε τα χαρακτηριστικά σφάλματος που επικοινωνούν το σφάλμα με πιο απλό τρόπο. Επομένως, μπορείτε να επιλέξετε να χρησιμοποιήσετε το χαρακτηριστικό path αντί για το χαρακτηριστικό trace, το οποίο είναι πολύ πιο περίπλοκο και περιέχει λεπτομέρειες που ο χρήστης δεν χρειάζεται να γνωρίζει.

Επίσης, δεν θέλετε να παρέχετε σε έναν τυχαίο χρήστη υπερβολικές πληροφορίες σχετικά με τις εσωτερικές λειτουργίες της εφαρμογής σας, καθώς αυτό μπορεί να θέσει σε κίνδυνο την ασφάλεια της εφαρμογής.