logo

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.

q1 q2 q3 q4

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

tekenreeks bevat

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>>

>

wat is een Java-stack
>

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

np.waar

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

int omzetten naar dubbele java

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