Halaman kesalahan label putih terlihat tumpul dan dapat berdampak negatif pada pengalaman pengguna. Pelajari cara membuat halaman kesalahan khusus menggunakan Thymeleaf.

Perangkat lunak mengalami kesalahan. Bahkan aplikasi terbaik pun akan mengalami kesalahan pada saat tertentu. Oleh karena itu, setiap aplikasi harus memiliki mekanisme penanganan kesalahan.

Spring Boot menyediakan halaman kesalahan Whitelabel default sebagai komponen konfigurasi otomatis untuk penanganan kesalahan. Meskipun demikian, harapannya adalah pengembang akan membuat halaman kesalahan khusus yang menggantikan halaman kesalahan Whitelabel. Dalam artikel ini, Anda akan mempelajari cara menyesuaikan halaman kesalahan untuk aplikasi Spring Boot Anda.

Halaman Kesalahan Whitelabel Spring Boot

Ketika aplikasi Spring Boot mengalami kesalahan, aplikasi tersebut meminta /error URL. Jika tidak ada tampilan di lokasi ini maka akan muncul halaman kesalahan Whitelabel:

Halaman kesalahan Whitelabel menyatakan tanggal dan waktu kesalahan, beserta zona waktu terkait. Selain itu, ini menunjukkan jenis kesalahan dan kode terkait. Halaman Whitelabel menyatakan bahwa

instagram viewer
ini adalah kesalahan 404 (halaman tidak ditemukan). Hal ini karena aplikasi sampel tidak memiliki pemetaan untuk URL “/products”.

Sebagian besar informasi yang disajikan pada halaman kesalahan Whitelabel diambil dari atribut kesalahan tertentu. Tampilan kesalahan Spring Boot memiliki akses ke atribut kesalahan berikut:

  • kesalahan: alasan kesalahan tersebut.
  • stempel waktu: tanggal dan waktu terjadinya kesalahan.
  • status: kode status kesalahan.
  • pengecualian: nama kelas dari pengecualian root (jika kesalahan disebabkan oleh pengecualian).
  • pesan: pesan pengecualian (jika kesalahan disebabkan oleh pengecualian).
  • kesalahan: Hasil apa pun dari pengecualian BindingResult (jika kesalahan disebabkan oleh pengecualian).
  • jejak: jejak tumpukan pengecualian (jika kesalahan disebabkan oleh pengecualian).
  • jalur: Jalur URL tempat terjadinya kesalahan.

Membuat Halaman Kesalahan Dengan Thymeleaf

Aplikasi Spring Boot Anda harus memiliki satu halaman kesalahan yang disimpan dalam template "kesalahan". Ekstensi template ini akan bervariasi tergantung pada teknologi template yang Anda putuskan untuk digunakan. Misalnya, jika Anda memilih templat Java Server Pages (JSP), nama filenya harus kesalahan.jsp.

Namun, contoh aplikasi Spring Boot ini menggunakan mesin templat Thymeleaf. Jadi, nama templatnya adalah kesalahan.html. Anda harus secara konsisten menempatkan template kesalahan Anda di templat folder, di bawah sumber daya direktori dengan semua file templat Anda yang lain.

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>

Halaman kesalahan yang disesuaikan menyelesaikan beberapa tugas penting. Ini menyatakan terjadinya kesalahan. Selanjutnya, itu ditampilkan permintaan HTTP yang memicu kesalahan tersebut. Selain itu, ini memberi pengguna kode status yang terkait dengan kesalahan tersebut. Namun jika pengguna belum familiar dengan kode status, halaman tersebut juga menjelaskan arti kode tersebut melalui atribut error.

Baris teks terakhir menyajikan pesan kepada pengguna jika terjadi pengecualian. Kemudian, link di bagian akhir memungkinkan pengguna untuk menavigasi kembali ke halaman beranda. Itu kesalahan.html file menggunakan style sheet CSS dan dua gambar untuk membuat tampilan berikut:

Jaga agar Halaman Kesalahan Anda Ramah Pengguna

Tujuan utama halaman kesalahan adalah untuk memberi tahu pengguna bahwa telah terjadi kesalahan tertentu. Namun, halaman kesalahan ini masih merupakan aspek aplikasi. Oleh karena itu, memastikan bahwa halaman kesalahan juga ramah pengguna sangatlah penting.

Ini berarti memilih untuk menggunakan atribut kesalahan yang mengomunikasikan kesalahan dengan cara yang lebih sederhana. Jadi, Anda mungkin memilih untuk menggunakan atribut path daripada atribut trace, yang jauh lebih kompleks dan berisi detail yang tidak perlu diketahui pengguna.

Anda juga tidak ingin memberikan informasi berlebihan kepada pengguna secara acak tentang cara kerja aplikasi Anda, karena hal ini dapat membahayakan keamanan aplikasi.