인터셉터란? - accidentlywoo/legacyVue GitHub Wiki

인터셉터란?

  • 들어가기 전에 이번 시간엔 컨트롤러 실행 전과 실행된 후에 공통 처리를 할 수 있도록 도와주는 인터셉터에 대해 알아보도록 하겠습니다.

학습 목표

  • 인터셉터(Interceptor)의 사용방법에 대해 이해한다.
  • Spring MVC 웹 어플리케이션에서 인터센터를 적용하는 방법에 대해 이해한다.

핵심 개념

학습하기

인터센터(Interceptor)?

  • Interceptor는 Dispatcher servlet에서 Handler(Controller)로 요청을 보낼 때, Handler에서 Dispathcer servlet으로 응답을 보낼 때 동작합니다.

인터셉터 작성법

  • org.springframework.web.servlet.HandlerInterceptor 인터페이스를 구현합니다.
  • org.springframework.web.servlet.handler.HandlerInterceptorAdapter 클래스를 상속받습니다.
  • Java Config를 사용한다면, WebMvcConfigurerAdapter가 가지고 있는 addInterceptors 메소드를 오버라이딩하고 등록하는 과정을 거칩니다.
  • xml 설정을 사용한다면, mvc:interceptors 요소에 인터셉터를 등록합니다.

생각해보기

  1. 인터셉터와 유사한 기능에 서블릿 필터(Servlet Filter)가 있습니다.Servlet Filter는 모든 요청을 받고 응답할 때 공통 처리를 위해 사용됩니다. 서블릿 필터와 인터셉터의 차이점을 조자해보세요.