학습 목표
- 스프링 부트의 에러 처리 메커니즘 이해
스프링 부트에서 제공하는 기본 에러 처리 방식과 커스터마이징 방법을 이해한다. - Mustache 템플릿을 활용한 에러 페이지 구현
다양한 HTTP 상태 코드에 맞는 사용자 정의 에러 페이지를 Mustache 템플릿을 사용하여 구현한다.
스프링 부트는 기본적으로 BasicErrorController를 통해 애플리케이션에서 발생하는 에러를 처리합니다.
이 컨트롤러는 /error 경로로 모든 에러를 매핑하며, 에러 발생 시 적절한 에러 페이지를 렌더링합니다.
그러나 기본 제공되는 에러 페이지는 단순한 텍스트 형태로 제공되기 때문에, 추가적인 가공 작업이 필요 합니다.
에러 페이지 매핑 설정
스프링 부트는 기본적으로 /error 경로를 통해 에러를 처리합니다.
application.properties 파일을 통해 커스터마이징된 에러 페이지를 적용할 수 있습니다.

400.mustache
{{> layout/header}}
<h1>BadRequest 400</h1>
<hr>
<h4>{{msg}}</h4>
{{> layout/footer}}
401.mustache
{{> layout/header}}
<h1>Unauthorized Request 401</h1>
<hr>
<h4>{{msg}}</h4>
{{> layout/footer}}
403.mustache
{{> layout/header}}
<h1>Forbidden 403</h1>
<hr>
<h4>{{msg}}</h4>
{{> layout/footer}}
404.mustache
{{> layout/header}}
<h1>Not Found 404</h1>
<hr>
<h4>{{msg}}</h4>
{{> layout/footer}}
500.mustache
{{> layout/header}}
<h1>ServerError 500</h1>
<hr>
<h4>{{msg}}</h4>
{{> layout/footer}}

application-dev.yml 에서 error 추
server:
servlet:
encoding:
charset: utf-8 # ?? ? ??? UTF-8 ???? ???? ?? ? ????? ??? ??? ??
force: true # ??? UTF-8 ???? ??, ?????? ?? ???? ?????? ???? UTF-8? ??
port: 8080 # ??? 8080 ???? ????? ??
error:
whitelable:
enabled: true # 뷰 렌더링 오류 활성화 여부


'Spring boot' 카테고리의 다른 글
| 2024.10.11 Blog 프로젝트 만들기(JPA) 인터셉터 만들어 보기 (1) | 2024.10.11 |
|---|---|
| 2024.10.11 Blog 프로젝트 만들기(JPA) 에러 컨트롤러 및 커스텁 익셉션 만들기 (0) | 2024.10.11 |
| 2024.10.10 Blog 프로젝트 만들기(JPA) 회원 정보 수정 (1) | 2024.10.10 |
| 2024.10.10 Blog 프로젝트 만들기(JPA) 회원 가입 기능 만들기 (0) | 2024.10.10 |
| 2024.10.10 Blog 프로젝트 만들기(JPA) 게시글 수정 하기 (0) | 2024.10.10 |