인프런 커뮤니티 질문&답변
finally 호출되는 시점
작성
·
414
퀴즈
51%나 틀려요. 한번 도전해보세요!
웹 요청이 들어왔을 때, 서블릿 필터와 스프링 인터셉터는 처리 흐름 중 어디에 위치하나요?
WAS -> 필터 -> DispatcherServlet -> 인터셉터 -> 컨트롤러
WAS -> 인터셉터 -> 필터 -> DispatcherServlet -> 컨트롤러
WAS -> DispatcherServlet -> 필터 -> 인터셉터 -> 컨트롤러
WAS -> DispatcherServlet -> 인터셉터 -> 컨트롤러 -> 필터
답변 2
4
안녕하세요. 찬비님, 공식 서포터즈 David입니다.
.
filter의 경우 Spring의 context 바깥에서 실행됩니다. 컨트롤러와 타임리프 렌더링이 끝난 뷰가 응답에 실려 나오고 난 다음 finally 내 코드가 실행됩니다.
https://www.baeldung.com/spring-mvc-handlerinterceptor-vs-filter
.
감사합니다.
0
chin.doFilter(request, response)가 호출되고나서 마지막에 finally가 호출되기 때문에
모든 화면이 그려지고 난 후 마지막에 호출되는 걸로 알고 있습니다.
그러니까
try, catch, finally를 비교하면
try : 화면을 실행하고 랜더링해서 보여줘라.
catch : 실행중 오류가 나면 오류내용을 보여줘라
finally : 화면을 모두 보여주고, 오류가 없으면 마지막에 여기를 호출해라
저는 이렇게 알고 있습니다.





