필터 : 서블릿이 제공하는 기능
인터셉터 : 스프링이 제공하는 기능
둘 다 유사한 기능을 제공
기존 코드의 문제
로그인을 한 회원만 상품 관리 페이지에 들어갈 수 있어야한다.
BUT 로그인을 하지 않아도 URL을 이용해서 상품 관리 페이지에 들어갈 수 있다.
⇒ 컨트롤러마다 로그인 여부 체크 로직 하나하나 작성 하는 방법 사용 가능
BUT 비효율적(코드의 중복 , 로직 변경의 적용에서의 일관성 등의 이슈)
애플리케이션 여러 로직에서 공통으로관심이 있는 것을 공통 관심사 라고한다.
(모든 컨트롤러에서 로그인 여부 체크 로직)
스프링의 AOP를 이용해 처리할 수 도 있지만,
웹과 관련된 공통 관심사는 서블릿 필터 or 스프링 인터셉터 사용하는 것 권고
웹 관련 공통관심사 처리 시에는 HTTP 헤더 or URL 정보 들이 필요, 서블릿 필터 or 스프링 인터셉터는 HttpServletRequest 제공