Filter란?
- 서블릿 컨테이너 레벨에서 요청/응답을 가로챌 수 있는 표준 인터페이스
- Spring이 관리하지 않음
init() : 필터가 처음 등록될 때 호출 (서블릿 컨테이너 레벨)
doFilter() : 실제 요청/응답을 가로채서 처리하는 핵심 메서드
destroy() : 필터가 제거될 때 호출

기본 클래스 구현
GenericFilterBean - Spring과 연결 다리
- Spring Bean으로 구성된 기본 클래스
- Spring 애플리케이션 컨텍스트 라이프 사이클과 통합 → Filter를 Spring Bean 처럼 관리할 수 있게 해주는 추상 클래스
OncePerRequestFilter - 한 요청당 한 번만 실행
- 첫 요청(Request)에서만 1번 실행
- 이후의 FORWAD, INCLUDE에서는 건너뜀
실무에서는 OncePerRequestFilter 주로 사용 한다고 함
실험
테스트 - Filter
정리
요청 및 세션