Spring

MVC / 로그인 처리 - 필터, 인터셉터

Dear-J 2025. 4. 13. 23:11

서블릿 필터

애플리케이션 여러 로직에서 공통으로 관심이 있는 것

>> 공통 관심사(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