logo

Spring Boot: personalitza la pàgina d'error de l'etiqueta blanca

A l'ecosistema Spring Boot, quan no hi ha cap pàgina d'error personalitzada per gestionar un error específic, Spring Boot gestiona l'error de manera predeterminada amb l'ajuda del Pàgina d'error de l'etiqueta blanca.

Whitelabel_Error_Page



Aquesta és la pàgina d'error d'etiqueta blanca predeterminada. També podem personalitzar aquesta pàgina d'error d'etiqueta blanca. En aquest article, parlem d'alguns enfocaments per personalitzar aquesta pàgina d'error d'etiqueta blanca.

Nota: Podem desactivar la pàgina d'error de l'etiqueta blanca establint la propietat server.error.whitelabel.enabled com a false.
server.error.whitelabel.enabled=fals

Configuració de l'IDE per al projecte

Configurem el nostre IDE creant el projecte Spring Boot. Per crear un projecte Spring Boot, aneu a Menú Fitxer > Nou > Altres > Projecte d'inici de primavera



springboot_starter_project_creation

en lloc de

Configureu el projecte segons les vostres necessitats.

Nota: Aquí, la versió 8 de Java, l'eina de gestió de compilació de Maven i l'IDE Eclipse utilitzats per a Java i desenvolupadors web 2023-06



spring_starter_project_window

També podem afegir les dependències següents amb un clic mentre configurem el projecte.

Dependències obligatòries

Spring Boot DevTools Thymeleaf Spring Web Services>

I un cop hàgiu afegit aquestes dependències, feu clic a ‘ acabar ‘ el projecte es crearà.

adding_dependencies_in_spring_starter_project

Configuració del projecte per a l'aplicació

Pas 1: afegir dependències

Un cop creat el projecte, configurem el nostre fitxer pom.xml (si feu servir Maven) afegint les dependències necessàries.

Spring-Boot-Starter-serveis-web : Per gestionar mètodes HTTP i punts finals

  org.springframework.boot  spring-boot-starter-web-services>

Spring-boot-starter-thymeleaf: Thymeleaf és un motor de plantilles i ofereix un format més estructurat per a les plantilles.

  org.springframework.boot  spring-boot-starter-thymeleaf>

Spring-boot-devtools: És una dependència opcional, però proporciona moltes eines de desenvolupament i funcions per crear aplicacions.

  org.springframework.boot  spring-boot-devtools  runtime  true>

Pas 2: Creació dels recursos

Un cop configurat el fitxer pom.xml, creem els recursos.

  • Navegueu fins a ` src/main/resources ` carpeta a l'estructura del projecte. Dins d'això, creeu una carpeta anomenada ` plantilles ` per emmagatzemar les plantilles HTML. Ara, creeu una pàgina d'error personalitzada amb un ` .html ` extensió. Per exemple, he anomenat la plantilla HTML com a ` pàgina_error `.html.

paquet_explorador

  • Ara, escriviu la vostra lògica personalitzada amb la qual voleu substituir la pàgina d'error d'etiqueta blanca predeterminada.

error_page.html:

HTML




> <>html>>> <>head>>> ><>title>>Títol d'error> cap>

Pàgina d'error personalitzada h1>

Alguna cosa ha anat malament. Si us plau, torna-ho a provar més tard.p> body> html>>>

>

>

Pas 3: anul·lació de les propietats predeterminades

  • Per defecte, Spring Boot utilitza el ` application.properties `o` aplicació.yml ` per establir les propietats d'una aplicació. Per anul·lar qualsevol comportament predeterminat de l'aplicació Spring Boot, podem afegir i configurar les propietats d'aquests fitxers segons la vostra eina de gestió de compilació. Per defecte, Spring Boot utilitza la pàgina d'error Whitelabel. Per anul·lar aquest comportament, configurem algunes propietats.
  • Copieu i enganxeu les propietats següents al fitxer ` application.properties ` (si feu servir Maven)

//Aquesta propietat s'utilitza per indicar el camí de la nostra plantilla
spring.mvc.view.prefix=/templates/

//Aquesta propietat s'utilitza per indicar l'extensió o el tipus de les plantilles
spring.mvc.view.suffix=.html

//Aquesta propietat establerta a false indica que no volem utilitzar la pàgina d'error d'etiqueta blanca per defecte server.error.whitelabel.enabled=fals

//Aquesta propietat s'utilitza per especificar el camí de la nostra pàgina d'error
server.error.path=/error

Pas 4: Creació de la classe Controller

Creem la classe Controller del nostre projecte. Per fer-ho, aneu al paquet predeterminat del nostre projecte. Creeu un subpaquet anomenat ` controlador ` i dins del paquet del controlador creeu la classe del controlador. Per exemple, he nomenat la classe del controlador com ` ControllerClass.java `.

Java




package> com.example.demo.controller;> > import> org.springframework.boot.web.servlet.error.ErrorController;> import> org.springframework.stereotype.Controller;> import> org.springframework.web.bind.annotation.GetMapping;> > @Controller> public> class> ControllerClass>implements> ErrorController {> > >@GetMapping>(>'/error'>)> >public> String handleError() {> >return> 'error_page'>;> >}> > }>

>

>

Explicació per crear la classe de controlador:

Al codi anterior, la nostra ControllerClass implementa el ` ErrorController ` per representar errors. A la classe, hem definit un ` handleError ` mètode que s'anota amb ` @GetMapping ` especificat amb el punt final ` /error ` i retornant la plantilla ` pàgina_error `.

Estructura del projecte

Assegureu-vos que el vostre projecte estigui a l'estructura de projecte següent.

estructura_projecte

Passos per executar l'aplicació

Per executar l'aplicació, feu clic amb el botó dret sobre el projecte > Corre com > Aplicació Spring Boot.

springboot_application_run

Sortida de la pàgina d'error personalitzada:

Intenteu donar qualsevol camí que no es gestioni a la classe del controlador. Mostrarà la pàgina d'error personalitzada.

pàgina_error_personalitzada