[Spring] 서블릿 필터와 스프링 인터셉터(Servlet Filter, Spring Interceptor)
·
TIL/Spring
서블릿 필터(Servlet Filter)와 스프링 인터셉터(Spring Interceptor)는 왜 사용하는걸까?만약 우리가 개발을 할 때 로그인 여부를 체크하는 로직을 모든 컨트롤러 쪽에 작성을 한다면 작업이 많이 번거로울 것이다.이렇게 모든 컨트롤러 로직에서 공통으로 관심이 있는 것을 공통 관심사(cross-cutting concern)라고 한다. 이러한 공통 관심사는 스프링의 AOP로도 해결할 수 있지만,웹과 관련된 공통 관심사는 서블릿 필터 또는 스프링 인터셉터를 사용하는 것이 좋다. 웹과 관련된 공통 관심사를 처리할 때는 HTTP Header나 URL의 정보들이 필요한데, 서블릿 필터와 스프링 인터셉터는 HttpServletRequest를 제공하고 있어 편리하게 공통 관심사를 처리할 수 있다. ..
[TIL] Spring Framework - HandlerInterceptorAdapter
·
TIL/Spring
인터셉터(Interceptor)란? Controller에 들어오는 요청(HttpRequest)과 Controller가 응답(HttpResponse)을 가로채는 역할은 한다. Filter와 역할이 유사한데 Filter와 Interceptor는 분명한 차이점이 있다. 1) 호출 시점 > Filter는 DispatcherServlet이 실행되기 전 , Interceptor는 DispatcherServlet이 실행된 후 2) 설정 위치 > Filter는 web.xml , Interceptor는 spring-servlet.xml 3) 구현 방식 > Filter는 web.xml에서 설정을 하면 구현 가능, Interceptor는 설정은 물론 메서드 구현도 필요 Interceptor를 구현하는 방법은 2가지가 있다...