logo

Spring Boot — dostosuj stronę błędów Whitelabel

W ekosystemie Spring Boot, gdy nie ma niestandardowej strony błędu obsługującej konkretny błąd, Spring Boot domyślnie obsługuje błąd za pomocą Strona błędu białej etykiety.

Whitelabel_Error_Page



To jest domyślna strona błędu Whitelabel. Możemy również dostosować tę stronę błędu białej etykiety. W tym artykule omówimy niektóre podejścia do dostosowywania tej strony błędu Whitelabel.

Notatka: Możemy wyłączyć stronę błędów Whitelabel, ustawiając właściwość server.error.whitelabel.enabled na false.
serwer.error.whitelabel.enabled=false

Konfiguracja IDE dla projektu

Skonfigurujmy nasze IDE, tworząc projekt Spring Boot. Aby utworzyć projekt Spring Boot, przejdź do Plik menu > Nowy > Inni > Projekt wiosennego startu



tworzenie_projektu springboot_starter_project_creation

zestaw skrótów Java

Skonfiguruj projekt zgodnie ze swoimi wymaganiami.

Notatka: Tutaj Java w wersji 8, narzędzie do zarządzania kompilacją Maven i Eclipse IDE używane dla Java i programistów internetowych 2023-06



spring_starter_project_window

Możemy również dodać następujące zależności jednym kliknięciem podczas konfigurowania projektu.

Wymagane zależności

Spring Boot DevTools Thymeleaf Spring Web Services>

Po dodaniu tych zależności kliknij „ skończyć „projekt powstanie.

dodanie_zależności_w_spring_starter_project

Konfiguracja projektu dla aplikacji

Krok 1: Dodawanie zależności

Po utworzeniu projektu skonfigurujmy nasz plik pom.xml (jeśli używasz Mavena) dodając wymagane zależności.

usługi internetowe typu spring-boot-starter : Do obsługi metod HTTP i punktów końcowych

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

spring-boot-starter-thymeleaf: Thymeleaf to silnik szablonów, który zapewnia bardziej uporządkowany format szablonów.

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

spring-boot-devtools: Jest to zależność opcjonalna, ale zapewnia wiele narzędzi programistycznych i funkcji do tworzenia aplikacji.

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

Krok 2: Tworzenie zasobów

Po skonfigurowaniu pliku pom.xml utwórzmy zasoby.

  • Przejdź do ` src/główny/zasoby ` w strukturze projektu. W nim utwórz folder o nazwie ` szablony ` do przechowywania szablonów HTML. Teraz utwórz niestandardową stronę błędu z rozszerzeniem ` .html ` rozszerzenie. Na przykład nazwałem szablon HTML jako ` strona_błędu `.html.

eksplorator_pakietów

  • Teraz napisz dostosowaną logikę, za pomocą której chcesz zastąpić domyślną stronę błędu białej etykiety.

strona_błędu.html:

HTML




> <>html>>> <>head>>> ><>title>>Tytuł błędu> głowa>

Niestandardowa strona błęduh1>

Coś poszło nie tak. Spróbuj ponownie później.p> body> html>>

>

>

Krok 3: Zastąpienie domyślnych właściwości

  • Domyślnie Spring Boot używa pliku ` właściwości.aplikacji ` lub ` aplikacja.yml `, aby ustawić właściwości aplikacji. Aby zastąpić dowolne domyślne zachowanie aplikacji Spring Boot, możemy dodać i skonfigurować właściwości w tych plikach zgodnie z narzędziem do zarządzania kompilacją. Domyślnie Spring Boot używa strony błędu Whitelabel. Aby zastąpić to zachowanie, skonfigurujmy niektóre właściwości.
  • Skopiuj i wklej następujące właściwości w pliku ` właściwości.aplikacji ` (jeśli używasz Mavena)

//Ta właściwość służy do wskazania ścieżki naszego szablonu
spring.mvc.view.prefix=/templates/

potrójna zima

//Ta właściwość służy do wskazania rozszerzenia lub typu szablonów
spring.mvc.view.suffix=.html

//Ta właściwość ustawiona na false wskazuje, że nie chcemy używać domyślnej strony błędu białej etykiety serwer.error.whitelabel.enabled=false

//Ta właściwość służy do określenia ścieżki naszej strony błędu
serwer.error.path=/błąd

Krok 4: Tworzenie klasy Controller

Stwórzmy klasę Controller naszego projektu. W tym celu przejdź do domyślnego pakietu naszego projektu. Utwórz podpakiet o nazwie ` kontroler ` i wewnątrz pakietu kontrolera utwórz klasę kontrolera. Na przykład nazwałem klasę kontrolera jako ` Klasa kontrolera.java `.

Jawa




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'>;> >}> > }>

>

>

Wyjaśnienie tworzenia klasy kontrolera:

W powyższym kodzie nasza ControllerClass implementuje rozszerzenie ` Kontroler błędów ` do renderowania błędów. W klasie zdefiniowaliśmy ` uchwytBłąd ` metoda oznaczona adnotacją ` @GetMapping ` określony z punktem końcowym ` /błąd ` i zwrócenie szablonu ` strona_błędu `.

Struktura projektu

Upewnij się, że Twój projekt ma następującą strukturę projektu.

struktura_projektu

Kroki, aby uruchomić aplikację

Aby uruchomić aplikację, kliknij projekt prawym przyciskiem myszy > Uruchom jako > Aplikacja Spring Boot.

springboot_aplikacja_run

Dane wyjściowe niestandardowej strony błędu:

Spróbuj podać dowolną ścieżkę, która nie jest obsługiwana w klasie kontrolera. Wyświetli niestandardową stronę błędu.

niestandardowa_strona_błędu