하지만 실행 시점에 속하는 영역(Context)에 차이점이 있다.
인터셉터의 경우 스프링에서 관리하기 때문에 스프링 내의 모든 객체에 접근이 가능하지만 필터는 웹 어플리케이션 영역 내의 자원들을 활용할 수 있지만. 스프링 내의 객체에는 접근이 불가능하다.
AOP의 어드바이스와 인터셉터의 가장 큰 차이는 파라미터의 차이라고 할 수 있다.
어드바이스의 JoinPoint나 ProceedingJoinPoint 등을 활용해서 호출 대상이 되는 메소드의 파라미터 등을 처리하는 방식이다.
인턱셉터는 필터와 유사하게 HttpServletRequest, HttpServletResponse를 파라미터로 받는 구조이다.
✅ HandlerInterceptorAdapter 클래스
HandlerInterceptor의 메소드는 아래와 같다.
preHandle
→ 지정된 컨트롤러의 동작 이전에 가로채는 역할로 사용한다.
postHandle
→ 지정된 컨트롤러의 동작 이후에 따라, DispatcherServlet이 화면을 처리하기 전에 동작한다.
afterCompletion
→ DispatcherServlet의 화면 처리가 완료된 상태에서 처리한다.