inblog logo
|
devleekangho
    용어정리

    Interceptor, Filter, AOP 차이점

    KangHo Lee's avatar
    KangHo Lee
    Nov 28, 2024
    Interceptor, Filter, AOP 차이점

    1. 인터셉터 (Interceptor)

    인터셉터는 주로 Spring MVC에서 사용되는 개념으로, 컨트롤러에 도달하기 전과 후에 요청을 가로채서 처리할 수 있게 합니다. 인터셉터는 세밀한 요청 처리와 응답 가공을 위해 사용됩니다.
    • 주요 목적: 요청 전처리 및 후처리.
    • 작동 위치: DispatcherServlet과 컨트롤러 사이.
    • 구현 방법: HandlerInterceptor 인터페이스를 구현하여 사용.
    • 사용 사례: 인증 및 권한 부여, 로깅, 요청 데이터 가공 등.

    2. 필터 (Filter)

    필터는 서블릿 기술의 일부로, 요청과 응답을 필터링하거나 수정하는 데 사용됩니다. 필터는 주로 요청 초기 단계에서 작동하여 전역적인 요청 처리 작업을 수행합니다.
    • 주요 목적: 요청 및 응답 필터링.
    • 작동 위치: DispatcherServlet 앞.
    • 구현 방법: Filter 인터페이스를 구현하여 사용.
    • 사용 사례: 인코딩 설정, 보안 검증, 로깅, 응답 압축 등.

    3. AOP (Aspect-Oriented Programming)

    AOP(Aspect-Oriented Programming)는 횡단 관심사(Cross-Cutting Concerns)를 모듈화하여 코드에 주입하는 프로그래밍 패러다임입니다. AOP를 통해 로깅, 트랜잭션 관리, 보안 등을 중앙에서 관리할 수 있습니다.
    • 주요 목적: 횡단 관심사의 모듈화.
      • 관점에 따라 행위(Behavior)를 변화시키고 싶을 때 사용.
    • 작동 위치: 특정 지점(Pointcut)에서 동작.
      • 메서드, 클래스, 예외 발생 등 다양한 지점을 설정 가능
    • 구현 방법: Spring AOP 또는 AspectJ를 사용.
    • 사용 사례: 로깅, 트랜잭션 관리, 보안 체크 등.
     
    Share article

    devleekangho

    RSS·Powered by Inblog