spring(스프링)
[spring(스프링)] Filter와 Interceptor의 차이점 _디버깅의 눈물
디버깅의 눈물
2023. 4. 7. 18:08
Filter와 Interceptor는 모두 HTTP 요청과 응답을 처리하기 위한 기능으로 사용됩니다. 하지만 사용 범위, 목적, 그리고 실행 순서에 있어서 차이가 있습니다.
Filter
-*Servlet API에 포함된 요소로, 웹 컨테이너(=서블릿 컨테이너, ex.Tomcat) 내부에서 동작하고, 웹 애플리케이션의 모든 request와 response에 대해 호출됩니다.
-주로 요청 및 응답 데이터 변환, 유효성 검사(로그인) 등을 처리합니다.
-interceptor 보다 먼저 실행됩니다.
Interceptor
-Spring Framework에서 지원하는 기능으로, Spring MVC 프레임워크 내에서 동작합니다.
-주로 로깅, 인증 등을 처리합니다.
-filter 보다 늦게 실행됩니다.
*Servlet API란?
: Java Servlet 기술을 이용해 웹 애플리케이션을 개발할 수 있도록 제공되는 인터페이스와 클래스들의 모음입니다.
*Servlet이란?
: 웹 애플리케이션 개발에 사용되는 Java 클래스로, Java Servlet API를 구현한 클래스입니다. 서블릿은 웹 서버에서 실행되며, HTTP 프로토콜을 기반으로 하는 클라이언트 요청을 처리하고, HTTP 응답을 생성해 클라이언트에게 반환합니다.