Spring Filter, Intercepter 공통점 및 차이점

스프링 필터, 인터셉터 공통점

전역 처리에 주로 사용됩니다.

컨트롤러 호출 전 요청을 가로채서 전처리를 할 수 있습니다.
컨트롤러 실행 후 응답에 후처리도 할 수 있습니다.

필터, 인터셉터는 여러 개 등록 시 순서 제어가 가능합니다.


스프링 필터, 인터셉터 차이점

Spring Filter

  • 소속 : 톰캣 등 Servlet Container
  • 실행 시점 : DispatcherServlet 전달 전후
  • 요청 조작 : 가능 (요청 Request를 HttpServletRequestWrapper 등으로 감싸서 전달)
  • 필터 사용 목적 : 인코딩, 보안 필터링, 파라미터 변환, CORS, XSS 방어 등

Spring Intercepter

  • 소속 : Spring container (DispatcherServlet 내부)
  • 실행 시점 : Controller 실행 전후, 뷰 렌더링 전후
  • 요청 조작 : 불가능 (Request 파라미터 변경 불가. Attribute 추가는 가능)
  • 인터셉터 사용 목적 : 인증/인가 처리, 세션 체크, 로깅, 성능 모니터링, 공통 비즈니스 로직 등