본문 바로가기
프로그래밍/Spring

스프링 부트 오류페이지에 관한 내용

by Mr-후 2019. 1. 11.
반응형


스프링 부트 오류페이지에 관한 내용


스프링 부트가 자동으로 구성한 기본 오류 핸들러는 'error'뷰를 찾는다. 찾을 수 없을 경우 기본 Whitelabel 뷰를 사용한다. "error"라는 이름으로 해석될 사용자 정의 뷰를 생성하는 것이 오류 페이지를 가장 쉽게 사용자 정의하는 방법이다. 

다음과 같이 오류 뷰를 해석할 때 사용될 뷰 리졸버(View Resolver)에 따라 달라진다. 


  • 스프링의 View 인터페이스를 구현하며 ID가 "error" 인 빈(스프링의 BeanNameViewResolver가 해석) 
  • Thymeleaf를 사용한다면 Thymeleaf 템플릿 error.html 
  • FreeMarker를 사용한다면 FreeMarker 템플릿 error.ftl 
  • Velocity를 사용한다면 Velocity 템플릿 error.vm 
  • JSP를 사용한다면 JSP템플릿 error.jsp 

error.html의 파일 위치는 
/resources/templates/error.html 

기본적으로 스프링 부트에서 오류 뷰에서 다음 오류 속성을 표시할 수 있도록 제공한다. 

  • timestamp : 오류 발생 시각
  • status : HTTP 상태 코드 
  • error : 오류 발생 이유 
  • exception: 예외 클래스 이름 
  • message : 예외 메시지 (예외 때문에 발생한 오류일 때) 
  • errors : BindingResult 예외로 발생한 모든 오류(예외 때문에 발생한 오류일 때) 
  • path : 오류가 발생했을 때 요청한 URL 경로 
path를 비롯한 몇몇 속성은 사용자에게 문제를 알려줄때 유용하다. 예를 들어 trace는 가급적 사용하지 말고 숨기거나 오류 페이지에서 영리하게 사용하여 오류 페이지를 될 수 있으면 사용자 친화적으로 표시해야 한다. 






반응형