Spring Boot – Anpassa Whitelabel-felsidan

Spring Boot – Anpassa Whitelabel-felsidan

I Spring Boot-ekosystemet, när det inte finns någon anpassad felsida för att hantera ett specifikt fel, hanterar Spring Boot som standard felet med hjälp av Whitelabel felsida.

Whitelabel_Error_Page

Detta är standardsidan för Whitelabel-fel. Vi kan också anpassa denna whitelabel-felsida. Låt oss i den här artikeln diskutera några metoder för att anpassa denna Whitelabel-felsida.

Notera: Vi kan inaktivera Whitelabel-felsidan genom att ställa in egenskapen server.error.whitelabel.enabled till false.
server.error.whitelabel.enabled=false

IDE-installation för projektet

Låt oss ställa in vår IDE genom att skapa Spring Boot-projektet. För att skapa ett Spring Boot Project, navigera till Arkiv-menyn > Ny > Andra > Vårstartprojekt

springboot_starter_project_creation

Konfigurera projektet enligt dina krav.

Notera: Här, Java version 8, Maven build-hanteringsverktyg och Eclipse IDE som används för Java och webbutvecklare 2023-06

spring_starter_project_window

Vi kan också lägga till följande beroenden inom ett klick när vi ställer in projektet.

Erforderliga beroenden

Spring Boot DevTools Thymeleaf Spring Web Services 

Och när du har lagt till dessa beroenden klickar du på ' Avsluta 'projektet kommer att skapas.

adding_dependencies_in_spring_starter_project

Projektuppsättning för applikationen

Steg 1: Lägga till beroenden

När projektet har skapats, låt oss konfigurera vår pom.xml-fil (om du använder Maven) genom att lägga till nödvändiga beroenden.

spring-boot-starter-web-services : För att hantera HTTP-metoder och slutpunkter

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

spring-boot-starter-thymeleaf: Thymeleaf är en mallmotor och ger ett mer strukturerat format för mallarna.

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

spring-boot-devtools: Det är ett valfritt beroende men ger många utvecklingsverktyg och funktioner för att bygga applikationer.

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

Steg 2: Skapa resurserna

När pom.xml-filen är konfigurerad, låt oss skapa resurserna.

  • Navigera till ` src/main/resources ` i projektstrukturen. Skapa en mapp som heter ` mallar ` för att lagra HTML-mallarna. Skapa nu en anpassad felsida med en ` .html ` förlängning. Till exempel har jag döpt HTML-mallen till ` error_page `.html.

package_explorer

  • Skriv nu din anpassade logik med vilken du vill åsidosätta standardsidan för whitelabel-fel.

error_page.html:

HTML




> <> html> >> <> head> >> > <> title> >Feltitel> huvud>

Anpassat fel Sidah1>

Något gick fel. Försök igen senare.p> body> html>>

Steg 3: Åsidosätt standardegenskaperna

  • Som standard använder Spring Boot ` applikationsegenskaper ` eller ` application.yml `-fil för att ställa in egenskaperna för ett program. För att åsidosätta alla standardbeteenden i Spring Boot-applikationen kan vi lägga till och konfigurera egenskaperna i dessa filer enligt ditt bygghanteringsverktyg. Som standard använder Spring Boot felsidan Whitelabel. Låt oss konfigurera några egenskaper för att åsidosätta detta beteende.
  • Kopiera och klistra in följande egenskaper i ` applikationsegenskaper ` (om du använder Maven)

//Denna egenskap används för att indikera sökvägen till vår mall
spring.mvc.view.prefix=/mallar/

//Denna egenskap används för att indikera mallarnas tillägg eller typ
spring.mvc.view.suffix=.html

//Den här egenskapen inställd på false indikerar att vi inte vill använda standardsidan för whitelabel-fel server.error.whitelabel.enabled=false

//Denna egenskap används för att ange sökvägen till vår felsida
server.error.path=/fel

Steg 4: Skapa klassen Controller

Låt oss skapa Controller-klassen för vårt projekt. För att göra det, navigera till standardpaketet för vårt projekt. Skapa ett underpaket med namnet ` kontroller ` och inuti controller-paketet skapa controller-klassen. Till exempel har jag döpt controllerklassen till ` 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'> ;> > }> > }>

Förklaring för att skapa kontrollerklassen:

I ovanstående kod implementerar vår ControllerClass ` ErrorController ` för att göra fel. I klassen har vi definierat en ` handleError ` metod som är kommenterad med ` @GetMapping ` specificerad med slutpunkten ` /fel ` och returnera mallen ` error_page `.

Projektets struktur

Se till att ditt projekt är i följande projektstruktur.

projektstruktur

Steg för att köra programmet

För att köra programmet, högerklicka på projektet > Spring som > Spring Boot App.

springboot_application_run

Utdata från den anpassade felsidan:

Försök att ange en sökväg som inte hanteras i controllerklassen. Den kommer att visa den anpassade felsidan.

custom_error_page