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

olo pipi님의 프로필 이미지
olo pipi

작성한 질문수

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

ExceptionResolver와 BasicErrorController의 분기점을 모르겠습니다.

작성

·

211

0

=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]

공통 상황

  • WAS -> Servlet -> Controller (예외 발생)
  • @ExceptionHandler를 사용한 API 예외 처리 애플리케이션
  • BasicErrorController를 사용한 HTML 오류 페이지 처리 애플리케이션

질문

Q1. BasicErrorController와 ExceptionResolver 모두 적용된 프로그램 흐름이 궁금합니다. ExceptionResolver와 BasicErrorController의 분기점을 모르겠습니다.

Q2. Accept: text/html HTTP 요청이 들어왔을 때, BasicErrorController는 내부 호출(WAS -> Servlet -> BasicErrorContoller)이 발생하는지, 아닌지 궁금합니다.

Q3. Accept: text/html HTTP 요청이 들어왔을 때, @ResponseStatus 값에 관계없이 무조건 500 HTML 에러 페이지를 반환하고 있습니다. @ExceptionHandler와 BasicErrorContoller의 조합이 어떻게 가능한지 모르겠습니다. 강의 코드에서 MyHandlerExceptionResolver를 없앴습니다.

감사합니다.

답변 2

0

olo pipi님의 프로필 이미지
olo pipi
질문자

감사합니다.

첫번째 답변 보고 제가 무엇을 착각했는지 바로 알 수 있었습니다.

0

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. olo pipi님

Q1: ExceptionResolver를 사용하면 이미 예외 처리가 완료되어버리기 때문에 서블릿 까지 오류가 올라가지 않습니다. BasicErrorController는 서블릿 까지 오류가 올라간 다음에 내려와야 동작합니다. 따라서 둘을 함께 사용하는 것은 아닙니다.

Q2: Q3: 예외 처리 부분을 다시 한번 복습하시길 바랍니다.

감사합니다.

olo pipi님의 프로필 이미지
olo pipi

작성한 질문수

질문하기