인프런 커뮤니티 질문&답변

도토리님의 프로필 이미지
도토리

작성한 질문수

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

스프링 부트 - 오류 페이지1

BasicErrorController에서 뷰를 선택하는 우선순위 관련

작성

·

286

0

public class ServletExController { 

    @GetMapping("/error-404")
    public void error404(HttpServletResponse response) throws IOException {
        response.sendError(404, "404 오류 발생!");
    }
}

templates/error/4xx.html, static/error/404.html라는 2개의 오류 페이지를 등록했습니다.

/error-404 요청 -> WAS가 sendError() 호출 기록 확인 -> WAS가 /error 요청 -> 이 요청을 BasicErrorController에게 전달 -> BasicErrorController은, 뷰 우선순위에 따라 뷰(오류 페이지)를 선택합니다.

templates폴더가 static 폴더보다 우선순위가 높기 때문에 'templates/error/4xx.html' 파일이 선택될 줄 알았는데, 'static/error/404.html 파일이 선택되었습니다. 왜 그런 것일까요? 혹시 templates, static 폴더보다 파일명(400, 4xx)에 대한 우선순위가 높은 것이 영향이 있을까요...?

답변 1

0

안녕하세요. 도토리님, 공식 서포터즈 David입니다.

404와 같이 구체적으로 지정한 것이 4xx(400번대 모두 포함)보다 우선순위가 높아서 그렇습니다.

감사합니다.

도토리님의 프로필 이미지
도토리

작성한 질문수

질문하기