필터(Filter)는 J2EE 표준 스펙 기능으로 디스패처 서블릿(Dispatcher Servlet)에 요청이 전달되기 전후에 URL 패턴에 맞는 모든 요청에 대해 부가작업을 처리할 수 있는 기능을 제공한다.
스프링 컨테이너가 아닌 톰캣같은 웹 컨테이너(서블릿 컨테이너)에 의해 관리가 되고, 디스패처 서블릿 전후에 처리하는 것이다.

인터셉터(Interceptor)는 J2EE 표준 스펙인 필터와 다르게 Spring이 제공하는 기술로, 디스패처 서블릿(Dispatcher Servlet)이 컨트롤러를 호출하기 전후에 요청과 응답을 참조하거나 가공할 수 있는 기능을 제공한다.

| 대상 | 필터(Filter) | 인터셉터(Interceptor) |
|---|---|---|
| 관리되는 컨테이너 | 서블릿 컨테이너 | 스프링 컨테이너 |
| 스프링의 예외처리 여부 | X | O |
| Request/Response 객체 조작 가능 여부 | O | X |
| 용도 | 1. 공통된 보안 및 인증/인가 관련 작업 2. 모든 요청에 대한 로깅 또는 감사 3. 이미지/데이터 압축 및 문자열 인코딩 4. Spring과 분리되어야 하는 기능 | 1. 세부적인 보안 및 인증/인가 공통 작업 2. API 호출에 대한 로깅 또는 감사 3. Controller로 넘겨주는 정보(데이터)의 가공 |