서블릿 필터
애플리케이션 여러 로직에서 공통으로 관심이 있는 것
>> 공통 관심사(cross-cutting concern)
웹과 관련된 공통 관심사 처리할 때는 HTTP 헤더나 URL 정보들 필요
>> 서블릿 필터, 스프링 인터셉터가 HttpServletRequest 제공
필터 흐름
필터가 호출 된 다음 서블릿이 호출(수문장 역할)
>> 모든 고객의 요청 로그를 남기는 요구사항일 때
>> 특정 URL 패턴에 적용 가능
필터 제한
로그인 여부 체크하기 굳
필터 체인
중간에 필터를 자유롭게 추가 가능
스프링 인터셉터
스프링 인터셉터 흐름
컨트롤러 호출 직전에 호출됨
스프링 인터셉터 제한
로그인 여부 체크하기 굳
스프링 인터셉터 체인
중간에 인터셉터 자유롭게 추가 가능
스프링 인터셉터 호출 흐름
preHandle : 컨트롤러 호출 전에 호출됨(정확히는 핸들러 어댑터 호출 전)
>> 응답 값이 true면 다음으로 진행, false면 진행 x
postHandle : 컨트롤러 호출 후에 호출됨
afterCompletion : 뷰가 렌더링 된 후에 호출됨
스프링 인터셉터 예외 상황
afterCompletion은 예외가 발생해도 호출됨
>> 예외와 무관하게 공통 처리 가능
>> 예외 정보(ex)를 포함해서 호출됨
출처 : 김영한, 스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
'Spring' 카테고리의 다른 글
MVC / API 예외 처리 (0) | 2025.04.15 |
---|---|
MVC / 예외 처리와 오류 페이지 (0) | 2025.04.14 |
MVC / 로그인 처리 - 쿠키, 세션 (0) | 2025.04.12 |
MVC / Bean Validation (0) | 2025.04.11 |
MVC / Validation (0) | 2025.04.10 |