GenericFilterBean을 기반으로 작성된 추상 클래스
클라이언트의 한 번 요청에 대해 내부적으로 동일한 서블릿 필터를 여러번 거칠 경우 한 번 반응하도록 설계되어있다.
Override • OncePerRequestFilter : doFilterInternal()
• GenericFilterBean : doFilter()
GenericFilterBean은 내부적으로 동일한 필터를 여러 번 통과하더라도 통과한 수 만큼 내부 로직이 실행된다.
OncePerRequestFilter는 내부적으로 동일한 필터를 여러 번 통과하더라도 첫 한 번만 내부 로직이 실행된다.
즉 OncePerRequestFilter는 forward시에 한 번만 로직을 실행 한다.

위와 같이 forword시에는 필터를 2번 탔지만 OncePerRequestFilter는 한 번만 동작한다.

redirect는 다른 경로로 재 요청하라는 의미임. 그러므로 요청이 2번 발생 함. OncePerRequestFilter는 2번 모두 실행 됨.