더북(TheBook)

대체로 오류 페이지는 오류 메시지와 이미지를 보여 주는 간단한 Thymeleaf 템플릿이다. 오류 페이지에는 오류 요청 경로와 예외 메시지를 보여 주는 두 영역이 있다. 이 두 가지가 오류 페이지에 표시할 상세 정보의 전부는 아니다. 기본적으로 스프링 부트에서는 오류 뷰에서 다음 오류 속성을 표시할 수 있도록 제공한다.

timestamp : 오류 발생 시각

status : HTTP 상태 코드

error : 오류 발생 이유

exception : 예외 클래스 이름

message : 예외 메시지(예외 때문에 발생한 오류일 때)

errors : BindingResult 예외로 발생한 모든 오류(예외 때문에 발생한 오류일 때)

trace : 예외 스택 트레이스(예외 때문에 발생한 오류일 때)

path : 오류가 발생했을 때 요청한 URL 경로

 

path를 비롯한 몇몇 속성은 사용자에게 문제를 알려 줄 때 유용하다. 예를 들어 trace는 가급적 사용하지 말고 숨기거나 오류 페이지에서 영리하게 사용하여 오류 페이지를 될 수 있으면 사용자 친화적으로 표시해야 한다.

또 템플릿에서 MissingPage.png 이미지 참조를 보았을 것이다. 실제 이미지 내용은 중요하지 않으므로 원하는 이미지를 자유롭게 골라서 쓰면 된다. 하지만 애플리케이션이 실행 중일 때 이미지가 나타나게 하려면 src/main/resources/static/images나 src/main/resources/public/images에 두어야 한다.

그림 3-2는 오류가 발생했을 때 사용자가 보는 화면이다. 예술 작품처럼 만든 것은 아니지만 애플리케이션의 오류 페이지를 한두 단계는 더 미적으로 만들었다고 생각한다.

▲ 그림 3-2 오류가 발생했을 때 표시하는 사용자 오류 페이지

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.