강의

멘토링

커뮤니티

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

혜민님의 프로필 이미지
혜민

작성한 질문수

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

서블릿 예외 처리 - 필터

WAS /error-page/500 다시 요청 할때

작성

·

325

0

안녕하세요. 질문 하나 남기고 싶습니다.

첫번째 질문은..

일단 WAS `/error-page/500` 다시 요청 한 상황이라고 

생각하고, 그 다음 동작이 '필터' 로 가는 것인데 

필터로 간다는 것이 chain.doFilter(request, response) 로

바로 간다는 것인가요?

try {
log.info("REQUEST [{}][{}][{}]", uuid, request.getDispatcherType(), requestURI);
chain.doFilter(request, response);

} catch (Exception e) {
log.info("EXCEPTION {}", e.getMessage());
throw e;

} finally {
log.info("RESPONSE [{}][{}][{}]", uuid, request.getDispatcherType(), requestURI);
}

 

두번째 질문은.. 첫번째 질문 이어서 설명입니다.

하나 변경된게 있다면,  WebConfig 클래스에서 setDispatcherTypes() 안에 DispatcherType.ERROR 를 뺀 상황입니다.

이 상황에서는 doFilter 위에  있는 log.info("REQUEST ...) 가 수행이 안되고 바로 chain.doFilter(request, response) 로 가는건지 궁금합니다.

 

혹시 제가 잘못알고 있거나 그런 부분이 있다면 설명 부탁드리겠습니다 ㅠㅠ

답변 1

0

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

안녕하세요. water_ yoon님

WAS가 /error-page/500를 다시 요청하게 되면 서블릿 필터를 호출하게 됩니다.

적어주신 코드는 이미 서블릿 필터 안에서 진행되는 코드입니다.

감사합니다.

혜민님의 프로필 이미지
혜민

작성한 질문수

질문하기