서블릿 필터#
서블릿이 지원하는 수문장
필터 흐름 HTTP 요청 -> WAS -> 필터(들) -> 서블릿 -> 컨트롤러
필터에서 막히면 끝낼수 있음 (로그인에 딱임)
**필터 인터페이스 (javax.servlet.Filter) **
init(): 컨테이너가 생성될때 호출doFilter(): 로직destroy(): 컨테이너가 종료될 때 호출
스프링시큐리티 등은 필터로 구현되어있음
인터셉터#
스프링 MVC가 제공하는 기술로, 필터와 비슷하지만 순서,범위,사용방법이 다름
인터셉터 흐름
HTTP 요청 -> WAS -> 필터 -> 서블릿 -> 스프링 인터셉터(들) -> 컨트롤러
HandlerInterceptor 인터페이스를 구현해서 사용
preHandle: 호출 전true면 진행,false면 끝PostHandle: 호출 후 (컨트롤러 예외면 호출 X)afterCompletion요청 완료 이후 (뷰 렌더링 이후) (무조건 호출)

addPathPatterns,excludePathPatterns로 정밀하게 URL 지정