2023.08.12 - [Spring/Spring mvc] - Spring Exception 1. 서블릿1 (Spring에서 예외처리를 어떻게 할까?)
2023.08.14 - [Spring/Spring mvc] - Spring Exception 2. 서블릿2 (Filter와 Interceptor를 안 거치려면?)
BasicErrorController
이전 글들을 보면 WebServerCustomizer를 만들어 오류 종류에 따라 어떠한 페이지로 가는지 경로를 정해줬고, 예외 처리용 컨트롤러를 직접 만들었다. 하지만 SpringBoot는 앞서 배운 내용을 기본으로 제공한다. 이러한 기본적인 내용들은 BasicErrorController에 모두 정의되어 있다.
new ErrorPage로 상태코드와 예외를 설정하지 않으면 SpringBoot가 정의한 기본 오류페이지로 사용된다.
오류 페이지를 등록하고, 각 오류에 맞게 페이지를 렌더링 하는 컨트롤러가 기본으로 설정되어 있으므로, 개발자는 오류 페이지만 생성하면 된다. 너무 편하다!
어떠한 우선순위로 오류 페이지를 연결해 줄까?
아래와 같은 우선순위로 오류페이지를 렌더링 한다.
1. 뷰 템플릿
resources/templates/error/400.html
resources/templates/error/4xx.html
2. 정적 리소스(static, public)
resources/static/error/400.html
resources/static/error/4xx.html
3. 적용 대상이 없는 뷰 이름
resources/templates/error/error.html
항상 보다 구체적인 페이지로 이동하여 렌더링한다.
하지만 항상 html과 thymleaf로 풀스택으로 개발하는 것이 아니다.
Front 개발자, Android개발자, ios 개발자 등 다양한 분야의 개발자들과 협업하여 RestApi를 개발하여 json으로 통신하는 경우가 대부분이기 때문이다.
다음 포스팅에서 Api 예외처리에 대해서 알아본다.
코드 링크
https://github.com/toychip/StudySpring/commit/be8d8afc9ca06f92aaaffc72213cb13e8924ae6d
Feat: Spring-mvc2-exception 스프링 부트 - 오류페이지1 · toychip/StudySpring@be8d8af
toychip committed Aug 16, 2023
github.com
김영한님 mvc2 - Exception 강의로 학습하였습니다.
공부한 내용을 상기시키기고 해당 내용을 몰랐을 때의 입장에서 쉽게 배울 수 있지 않을까 해서 작성한 글입니다. 잘못된 내용이 있을 경우 말씀해 주세요. 피드백 환영합니다.
'Spring > Spring Exception' 카테고리의 다른 글
Spring Exception 6. ExceptionResolver (HandlerExceptionResolver) (0) | 2023.08.17 |
---|---|
Spring Exception 5. 스프링 부트 Api 오류처리 (BasicErrorController) (0) | 2023.08.16 |
Spring Exception 4. Api 예외 처리 (Spring mvc VS RestfulApi) (0) | 2023.08.16 |
Spring Exception 2. 서블릿2 (Filter와 Interceptor를 안 거치려면?) (0) | 2023.08.14 |
Spring Exception 1. 서블릿1 (Spring에서 예외처리를 어떻게 할까?) (0) | 2023.08.12 |