
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 응답을 생성해 클라이언트에게 반환합니다.
'spring(스프링)' 카테고리의 다른 글
[spring(스프링)] 스프링의 5가지 특징 _디버깅의 눈물 (0) | 2023.04.09 |
---|---|
[spring(스프링)] 스프링과 스프링부트의 차이? _디버깅의 눈물 (0) | 2023.04.08 |
[spring(스프링)] Dispatcher Servlet이란? _디버깅의 눈물 (0) | 2023.04.06 |
[spring(스프링)] DTO, VO, Entity의 차이? _디버깅의 눈물 (0) | 2023.04.04 |
[spring(스프링)] OAuth란? _디버깅의 눈물 (0) | 2023.03.20 |