Filtet vs Interceptor
본문 바로가기
Spring

Filtet vs Interceptor

by IYK2h 2022. 3. 18.
728x90

모든 컨트롤러에 로그인 여부를 확인하는 코드를 짜야하는 상황이라 코드의 중복이 많아지고 로그인 로직이 바뀌면 복잡해진다.

이러한 여러 로직에서의 공통 관심이 있는 것을 cross-cutting concern(공통 관심사) 라고 한다.

서블릿 필터

life cycle
HTTP 요청 -> WAS -> 필터 -> 서블릿 -> 컨트롤러
필터체인: HTTP 요청 -> WAS -> 필터1 -> 필터2 -> 서블릿 -> 컨트롤러
필터 -> 서블릿 //인증된 사용자
필터 ->(서블릿 호출 x) //비 인증 사용자

스프링 인터셉터

life cycle
HTTP 요청 -> WAS -> 필터 -> 서블릿 -> 스프링 인터셉터 -> 컨트롤러
필터체인: HTTP 요청 -> WAS -> 필터 -> 서블릿 -> 인터셉터1 -> 인터셉터2 -> 컨트롤러
스프링 인터셉터 -> 컨트롤러 //인증된 사용자
스프링 인터셉터 -> (컨트롤러 호출 X) // 비 인증 사용자
웹과 관련된공통 관심사는 스프링의 AOP 보다는 서블릿 필터 또는 스프링 인터셉터를 사용하는 것이 좋다.
인터셉터는 스프링 MVC 구조에 특화된 필터 기능 제공
728x90

'Spring' 카테고리의 다른 글

Java Bean? Spring Bean?  (0) 2022.04.29
Spring DI 종류  (0) 2022.04.22
Spring IoC, DI 가 무엇인지  (0) 2022.04.19
Spring-JPA-hibernate.naming  (0) 2022.03.22
Spring Security  (0) 2021.09.10

댓글