서블릿 필터에 대해서
✅서블릿 필터
➡️필터 흐름
HTTP 요청 → WAS(Tomcat) → filter → Servlet → Controller
필터를 적용하면 필터가 호출 된 다음에 서블릿이 호출된다.
- 스프링의 경우 : Servlet → DispatcherServlet
HTTP 요청 → WAS(Tomcat) → filter → DispatcherServlet → Controller
➡️필터의 활용
- 요청 로그 기록 남기기
- 로그인 여부 체크
➡️필터 체인
HTTP 요청 -> WAS(Tomcat) -> 필터1 -> 필터2 -> 필터3 -> 서블릿 -> 컨트롤러
필터는 체인으로 구성되는데, 중간에 필터를 자유롭게 추가 할 수 있다.
➡️필터의 생명주기
init()
: 필터 초기화 메서드, 서블릿 컨테이너가 생성될 때 호출된다.doFilter()
: 고객의 요청이 올 때 마다 해당 메서드가 호출된다. 필터의 로직을 구현하면 된다.destroy()
: 필터 종료 메서드, 서블릿 컨테이너가 종료될 때 호출된다.