Spring Boot – 화이트라벨 오류 페이지 사용자 정의
Spring Boot 생태계에서 특정 오류를 처리할 사용자 정의 오류 페이지가 없는 경우 Spring Boot는 기본적으로 다음의 도움을 받아 오류를 처리합니다. 화이트라벨 오류 페이지.
이는 기본 화이트라벨 오류 페이지입니다. 이 화이트라벨 오류 페이지를 사용자 정의할 수도 있습니다. 이 기사에서는 이 화이트라벨 오류 페이지를 사용자 정의하는 몇 가지 접근 방식에 대해 논의하겠습니다.
메모: server.error.whitelabel.enabled 속성을 false로 설정하여 화이트라벨 오류 페이지를 비활성화할 수 있습니다.
server.error.whitelabel.enabled=false
프로젝트를 위한 IDE 설정
Spring Boot 프로젝트를 생성하여 IDE를 설정해 보겠습니다. Spring Boot 프로젝트를 생성하려면 파일 메뉴 > 새로운 > 기타 > 스프링 스타터 프로젝트
요구 사항에 따라 프로젝트를 구성하십시오.
메모: 여기에서는 Java 버전 8, Maven 빌드 관리 도구 및 Java 및 웹 개발자에 사용되는 Eclipse IDE 2023-06
프로젝트를 설정하는 동안 클릭 한 번으로 다음 종속성을 추가할 수도 있습니다.
필수 종속성
Spring Boot DevTools Thymeleaf Spring Web Services
이러한 종속성을 추가한 후 '를 클릭하세요. 마치다 ' 프로젝트가 생성됩니다.
애플리케이션을 위한 프로젝트 설정
1단계: 종속성 추가
프로젝트가 생성되면 필요한 종속성을 추가하여 pom.xml 파일(Maven을 사용하는 경우)을 구성하겠습니다.
스프링 부트 스타터 웹 서비스 : HTTP 메소드 및 엔드포인트를 처리하기 위해
org.springframework.boot spring-boot-starter-web-services
스프링부트스타터-타임리프: Thymeleaf는 템플릿 엔진이며 템플릿에 대해 보다 구조화된 형식을 제공합니다.
org.springframework.boot spring-boot-starter-thymeleaf
스프링 부트 개발 도구: 선택적 종속성이지만 애플리케이션을 구축하기 위한 많은 개발 도구와 기능을 제공합니다.
org.springframework.boot spring-boot-devtools runtime true
2단계: 리소스 생성
pom.xml 파일이 구성되면 리소스를 생성해 보겠습니다.
- `로 이동합니다. 소스/메인/리소스 ` 프로젝트 구조의 폴더. 그 안에 `라는 폴더를 생성합니다. 템플릿 ` HTML 템플릿을 저장합니다. 이제 `를 사용하여 사용자 정의 오류 페이지를 만듭니다. .html ` 확장자. 예를 들어 HTML 템플릿의 이름을 ` error_page `.html.
- 이제 기본 화이트라벨 오류 페이지를 재정의하려는 사용자 정의 논리를 작성하세요.
error_page.html:
HTML
> <> html> >> <> head> >> > <> title> >오류제목> 머리> |
3단계: 기본 속성 재정의
- 기본적으로 Spring Boot는 ` 애플리케이션.속성 `` 또는 ` application.yml ` 애플리케이션의 속성을 설정하는 파일입니다. Spring Boot 애플리케이션의 기본 동작을 재정의하기 위해 빌드 관리 도구에 따라 이러한 파일의 속성을 추가하고 구성할 수 있습니다. 기본적으로 Spring Boot는 Whitelabel 오류 페이지를 사용합니다. 이 동작을 재정의하려면 몇 가지 속성을 구성해 보겠습니다.
- `에 다음 속성을 복사하여 붙여넣습니다. 애플리케이션.속성 `(Maven을 사용하는 경우)
//이 속성은 템플릿의 경로를 나타내는 데 사용됩니다.
spring.mvc.view.prefix=/템플릿///이 속성은 템플릿의 확장이나 유형을 나타내는 데 사용됩니다.
spring.mvc.view.suffix=.html//false로 설정된 이 속성은 기본 화이트라벨 오류 페이지를 사용하고 싶지 않음을 나타냅니다. server.error.whitelabel.enabled=false
//이 속성은 오류 페이지의 경로를 지정하는 데 사용됩니다.
server.error.path=/오류
4단계: Controller 클래스 생성
프로젝트의 Controller 클래스를 만들어 보겠습니다. 그렇게 하려면 프로젝트의 기본 패키지로 이동하세요. `라는 하위 패키지를 만듭니다. 제어 장치 ` 그리고 컨트롤러 패키지 내부에 컨트롤러 클래스를 만듭니다. 예를 들어 컨트롤러 클래스 이름을 ` ControllerClass.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'> ;> > }> > }> |
컨트롤러 클래스 생성에 대한 설명:
위 코드에서 ControllerClass는 ` 오류 컨트롤러 ` 오류를 렌더링합니다. 클래스에서 우리는 ` 핸들 오류 ` 주석이 붙은 메소드 @GetMapping ` 끝점으로 지정 ` /오류 ` 그리고 템플릿 반환 ` error_page `.
프로젝트 구조
프로젝트가 다음 프로젝트 구조에 있는지 확인하세요.
애플리케이션 실행 단계
애플리케이션을 실행하려면, 프로젝트를 마우스 오른쪽 버튼으로 클릭하세요. > 다음으로 실행 > 스프링 부트 앱.
사용자 정의 오류 페이지 출력:
컨트롤러 클래스에서 처리되지 않는 경로를 지정해 보세요. 사용자 정의 오류 페이지가 표시됩니다.