logo

Spring Boot – tinkinkite baltos etiketės klaidos puslapį

„Spring Boot“ ekosistemoje, kai nėra tinkinto klaidos puslapio, skirto konkrečiai klaidai apdoroti, „Spring Boot“ pagal numatytuosius nustatymus apdoroja klaidą naudodama Baltosios etiketės klaidos puslapis.

Whitelabel_Error_Page



Tai numatytasis baltos etiketės klaidos puslapis. Taip pat galime tinkinti šį baltosios etiketės klaidos puslapį. Šiame straipsnyje aptarkime keletą būdų, kaip tinkinti šį baltos etiketės klaidos puslapį.

Pastaba: Galime išjungti baltos etiketės klaidos puslapį, nustatydami ypatybę server.error.whitelabel.enabled į false.
server.error.whitelabel.enabled=false

IDE sąranka projektui

Sukurkime savo IDE sukurdami Spring Boot projektą. Norėdami sukurti Spring Boot Project, eikite į Failo meniu > Nauja > Kiti > Pavasario starto projektas



springboot_starter_project_creation

Konfigūruokite projektą pagal savo poreikius.

Pastaba: Čia „Java“ ir „Web Developers 2023-06“ naudojama 8 versija „Java“, „Maven“ kūrimo valdymo įrankis ir „Eclipse IDE“



pavasario_startojo_projekto_langas

Taip pat galime pridėti šias priklausomybes vienu paspaudimu, kai nustatome projektą.

kai buvo išrastas pirmasis kompiuteris

Reikalingos priklausomybės

Spring Boot DevTools Thymeleaf Spring Web Services>

Kai pridėsite šias priklausomybes, spustelėkite „ baigti “ projektas bus sukurtas.

Adding_dependencies_in_spring_starter_project

oi

Programos projekto sąranka

1 veiksmas: pridėkite priklausomybes

Kai projektas bus sukurtas, sukonfigūruokite savo pom.xml failą (jei naudojate Maven) pridėdami reikiamas priklausomybes.

Spring-boot-starter-web-services : tvarkyti HTTP metodus ir galinius taškus

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

spring-boot-starter-thymeleaf: Thymeleaf yra šablonų variklis ir suteikia struktūriškesnį šablonų formatą.

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

spring-boot-devtools: Tai neprivaloma priklausomybė, tačiau suteikia daug kūrimo įrankių ir funkcijų programoms kurti.

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

2 veiksmas: išteklių kūrimas

Kai pom.xml failas bus sukonfigūruotas, sukurkime išteklius.

  • Eikite į ` src/main/resources ` aplanką projekto struktūroje. Jo viduje sukurkite aplanką pavadinimu ` šablonus `, kad išsaugotumėte HTML šablonus. Dabar sukurkite pasirinktinį klaidos puslapį su ` .html ` plėtinys. Pavyzdžiui, aš pavadinau HTML šabloną kaip „ error_page `.html.

paketo_tyrėjas

  • Dabar parašykite tinkintą logiką, pagal kurią norite nepaisyti numatytosios baltosios etiketės klaidos puslapio.

error_page.html:

HTML




> <>html>>>> head>>>> <>title>>Errortitle> head>

Pasirinktinė klaida puslapish1>

Kažkas nutiko. Bandykite dar kartą vėliau.p> body> html>>>

> 

e r modelio pavyzdžiai
Pagal numatytuosius nustatymus „Spring Boot“ naudoja „ taikymas.ypatybės ` arba ` aplikacija.yml ` failą, kad nustatytumėte programos ypatybes. Norėdami nepaisyti bet kokios numatytosios „Spring Boot“ programos elgsenos, galime pridėti ir sukonfigūruoti šių failų ypatybes pagal jūsų kūrimo valdymo įrankį. Pagal numatytuosius nustatymus „Spring Boot“ naudoja „Whitelabel“ klaidos puslapį. Norėdami nepaisyti šio elgesio, sukonfigūruokite kai kurias ypatybes.
  • Nukopijuokite ir įklijuokite šias ypatybes į ` taikymas.ypatybės ` (jei naudojate Maven)
  • //Ši savybė naudojama mūsų šablono keliui nurodyti
    spring.mvc.view.prefix=/templates/

    //Ši savybė naudojama šablonų plėtiniui arba tipui nurodyti
    spring.mvc.view.suffix=.html

    //Ši ypatybė, nustatyta į false, rodo, kad nenorime naudoti numatytojo baltosios etiketės klaidos puslapio server.error.whitelabel.enabled=false

    //Ši savybė naudojama mūsų klaidos puslapio keliui nurodyti
    server.error.path=/error

    list.sort java

    4 veiksmas: valdiklio klasės sukūrimas

    Sukurkime savo projekto valdiklio klasę. Norėdami tai padaryti, eikite į numatytąjį mūsų projekto paketą. Sukurkite antrinį paketą pavadinimu ` valdiklis ` ir valdiklio paketo viduje sukurkite valdiklio klasę. Pavyzdžiui, aš pavadinau valdiklio klasę kaip ' 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'>;> >}> > }>

    >

    mano flikseris
    >

    Valdiklio klasės kūrimo paaiškinimas:

    Aukščiau pateiktame kode mūsų „ControllerClass“ įgyvendina „ ErrorController ` pateikti klaidas. Klasėje mes apibrėžėme ` tvarkyklės klaida ` metodas, kuris komentuojamas ` @GetMapping „nurodytas galutiniu tašku“. /klaida “ ir grąžinant šabloną “ error_page `.

    Projekto struktūra

    Įsitikinkite, kad jūsų projektas yra šios projekto struktūros.

    projekto_struktūra

    Programos paleidimo veiksmai

    Norėdami paleisti programą, dešiniuoju pelės mygtuku spustelėkite projektą > Bėk kaip > „Spring Boot“ programa.

    springboot_application_run

    Priskirto klaidų puslapio išvestis:

    Pabandykite nurodyti bet kokį kelią, kuris nėra tvarkomas valdiklio klasėje. Bus parodytas pasirinktinis klaidos puslapis.

    custom_error_page