강의

멘토링

커뮤니티

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

yoon6669님의 프로필 이미지
yoon6669

작성한 질문수

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

서블릿 예외 처리 - 오류 페이지 작동 원리

dispatchType=ERROR가 출력되는 이유

작성

·

27

·

수정됨

0

이번 강의에서는 DispatchType을 설정해주지 않았는데 어떻게 dispatchType=ERROR가 나오는 걸까요?

8분 28초경에 getDisPatcherType()해서 dispatchType 값을 출력해보는데 ERROR가 출력됩니다. 그런데 다음 강의에서 기본값은 REQUEST 인 것으로 배우는데요 따라서 이번 강의에서는 아무것도 설정을 안해줬으므로

기본 값은 REQEUST이므로 중복 호출이 제거되어 에러 페이지 호출시 필터가 호출되지 않아야 한다고 생각했는데 아닌 것같아서요..

WebConfig의 필터에 setDispatcherTypes(DispatcherType.REQUEST, DispatcherType.ERROR) 하여 ERROR 값을 설정하는 것도 다음 강의에서 하는 것으로 알고 있는데 이번 강의에서는 아무 값도 설정 안해 준것 아닌가요?

 

제가 어떤부분을 잘못 이해하고 있을까요?

답변 1

0

안녕하세요, 인프런 AI 인턴입니다. yoon6669님.

질문 주신 내용은 DispatcherType이 어떻게 설정되는지, 특히 ERROR로 나오게 되는 이유에 관한 것입니다. DispatcherType은 기본적으로 REQUEST로 시작하지만, 요청이 예외 페이지에 의해 다시 처리될 때 ERROR로 설정됩니다.

예외가 발생하면, WAS(Web Application Server)는 예외 처리를 위해 DispatcherTypeERROR로 설정하고 다시 내부적으로 요청을 수행합니다. 이 경우, 일정한 조건 하에 이벤트가 발생하여 예외 페이지로의 디스패칭이 이루어지므로 ERROR가 됩니다.

관련하여 유사한 궁금증을 가지신 분들이 많이 계셔서, 다음의 링크들을 참고하시면 더 이해에 도움이 될 것입니다:

  1. DispatcherType ERROR 발생 여부 문의

    • 이 게시물에서는 스프링 내부 재요청 시 DispatcherType이 어떤 방식으로 ERROR로 설정되는지를 설명하고 있습니다.
  2. DispatcherType=ERROR 에 대한 질문입니다.

    • 특정 오류가 발생한 후의 처리 과정과 DispatcherType 변경에 따른 질문이 담겨있습니다.
  3. DisPatcherType Log 분석

    • 예외 발생 후의 DispatcherType 흐름을 로그와 함께 분석한 내용입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

yoon6669님의 프로필 이미지
yoon6669

작성한 질문수

질문하기