[Spring] Filter

이도훈·2021년 9월 21일

Filter

  1. Filter란?
  • Web Application에서 관리되는 영역으로써 Spring Boot FrameWork에서 Client로 부터 오는 요청/응답에 대해서 최초/최종 단계의 위치에 존재하며, 이를 통해 요청/응답의 정보를 변경하거나, Spring에 의해 데이터가 변환되기 전의 순수한 Client의 요청/응답 값을 확인할 수 있다.
    유일하게 ServletRequest, ServletResponse의 객체를 반환할 수 있다.

  • 주로 Spring Framework 에서는 request / response의 logging 용도로 활용하거나, 인증과 관련된 logic들을 해당 filter에서 처리한다.
  • 이를 선/후 처리 함으로써, service business logic과 분리시킨다.

Interceptor

  • Interceptor 란 fliter와 매우 유사한 형태로 존재하지만, 차이점은 Spring Context에 등록된다. 그래서 AOP와 유사한 기능을 제공할 수 있으며,
    주로 인증 단계를 처리하거나, logging을 하는 데 사용한다.
    이를 선/후 처리함으로써, service business logic과 분리시킨다.

  • dispatchsevlet 보다 뒷단에 위치해있기 때문에, 해당 request에 대한 handler, controller 등이 무엇인지까지에 대해서도 인지할 수 있다.

profile
back-end developer

0개의 댓글