Spring Boot – Pas de Whitelabel-foutpagina aan

Spring Boot – Pas de Whitelabel-foutpagina aan

Wanneer er in het Spring Boot-ecosysteem geen aangepaste foutpagina is om een ​​specifieke fout af te handelen, handelt Spring Boot de fout standaard af met behulp van de Whitelabel-foutpagina.

Whitelabel_Error_Pagina

Dit is de standaard Whitelabel-foutpagina. We kunnen deze whitelabel-foutpagina ook aanpassen. Laten we in dit artikel enkele manieren bespreken om deze Whitelabel-foutpagina aan te passen.

Opmerking: We kunnen de Whitelabel-foutpagina uitschakelen door de eigenschap server.error.whitelabel.enabled in te stellen op false.
server.error.whitelabel.enabled=false

IDE-installatie voor het project

Laten we onze IDE opzetten door het Spring Boot-project te maken. Om een ​​Spring Boot-project te maken, navigeert u naar het Bestandsmenu > Nieuw > Anderen > Lentestartproject

springboot_starter_project_creation

Configureer het project volgens uw vereisten.

Opmerking: Hier Java versie 8, Maven build management tool en Eclipse IDE gebruikt voor Java en webontwikkelaars 2023-06

spring_starter_project_window

We kunnen ook de volgende afhankelijkheden met een klik toevoegen tijdens het opzetten van het project.

Vereiste afhankelijkheden

Spring Boot DevTools Thymeleaf Spring Web Services 

En zodra je deze afhankelijkheden hebt toegevoegd, klik je op ‘ finish ‘Het project wordt gemaakt.

het toevoegen van_dependencies_in_spring_starter_project

Projectconfiguratie voor de applicatie

Stap 1: Afhankelijkheden toevoegen

Zodra het project is gemaakt, kunnen we ons pom.xml-bestand configureren (als u Maven gebruikt) door de vereiste afhankelijkheden toe te voegen.

spring-boot-starter-webservices : voor het verwerken van HTTP-methoden en eindpunten

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

spring-boot-starter-thymeleaf: Thymeleaf is een sjabloonengine en geeft een meer gestructureerd formaat voor de sjablonen.

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

spring-boot-devtools: Het is een optionele afhankelijkheid, maar biedt veel ontwikkeltools en functies om applicaties te bouwen.

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

Stap 2: De bronnen aanmaken

Zodra het pom.xml-bestand is geconfigureerd, gaan we de bronnen maken.

  • Navigeer naar het ' src/hoofd/bronnen ` map in de projectstructuur. Maak daarbinnen een map met de naam ` Sjablonen ` om de HTML-sjablonen op te slaan. Maak nu een aangepaste foutpagina met een ` .html ` extensie. Ik heb de HTML-sjabloon bijvoorbeeld ' fout_pagina `.html.

pakket_verkenner

  • Schrijf nu uw aangepaste logica waarmee u de standaard whitelabel-foutpagina wilt overschrijven.

fout_pagina.html:

HTML




> <> html> >> <> head> >> > <> title> >Fouttitel> hoofd>

Aangepaste fout Paginah1>

Er is iets fout gegaan. Probeer het later opnieuw.p> body> html>>

Stap 3: De standaardeigenschappen overschrijven

  • Standaard gebruikt Spring Boot de ` applicatie.eigenschappen ` of ` applicatie.yml ` bestand om de eigenschappen van een applicatie in te stellen. Om het standaardgedrag van de Spring Boot-applicatie te overschrijven, kunnen we de eigenschappen in deze bestanden toevoegen en configureren op basis van uw buildbeheertool. Standaard gebruikt Spring Boot de Whitelabel-foutpagina. Om dit gedrag te overschrijven, moeten we enkele eigenschappen configureren.
  • Kopieer en plak de volgende eigenschappen in het ` applicatie.eigenschappen ` (als u Maven gebruikt)

//Deze eigenschap wordt gebruikt om het pad van onze sjabloon aan te geven
spring.mvc.view.prefix=/templates/

//Deze eigenschap wordt gebruikt om de extensie of het type van de sjablonen aan te geven
spring.mvc.view.suffix=.html

//Deze eigenschap ingesteld op false geeft aan dat we de standaard whitelabel-foutpagina niet willen gebruiken server.error.whitelabel.enabled=false

//Deze eigenschap wordt gebruikt om het pad van onze foutpagina op te geven
server.fout.pad=/fout

Stap 4: De klasse Controller maken

Laten we de Controller-klasse van ons project maken. Om dat te doen, navigeert u naar het standaardpakket van ons project. Maak een subpakket met de naam ` controleur ` en maak binnen het controllerpakket de controllerklasse. Ik heb de controllerklasse bijvoorbeeld ' 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'> ;> > }> > }>

Uitleg voor het maken van de controllerklasse:

In de bovenstaande code implementeert onze ControllerClass de ` Foutcontroller ` om fouten weer te geven. In de klasse hebben we een ` handleFout ` methode die is geannoteerd met ` @GetMapping ` gespecificeerd met het eindpunt ` /fout ` en het retourneren van de sjabloon ` fout_pagina `.

Projectstructuur

Zorg ervoor dat uw project zich in de volgende projectstructuur bevindt.

project_structuur

Stappen om de applicatie uit te voeren

Om de applicatie uit te voeren, klik met de rechtermuisknop op het project > Rennen als > Spring Boot-app.

springboot_application_run

Uitvoer van de aangepaste foutpagina:

Probeer een pad op te geven dat niet wordt afgehandeld in de controllerklasse. Het toont de aangepaste foutpagina.

aangepaste_fout_pagina