자바 웹 개발을 하다보면, 공통적으로 처리해야 할 작업들이 있다.
예를 들어, 로그인 관련(세션 체크), 권한 체크, XSS방어, PC, Mobile 분기, 로그, 페이지 인코딩 등
이러한 공통 부분을 따로 빼서 관리한다.
3가지 공통 처리 방법

Filter, Interceptor, AOP의 흐름
.png)
- Interceptor와 Filter는 Servlet 단위에서 실행된다.
- AOP는 메소드 앞에 Proxy 패턴의 형태로 실행 된다.
- 실행 순서를 보면 Filter가 가장 밖에 있고 그 안에 Interceptor 그 안에 AOP가 있는 형태이다.
따라서 요청이 들어오면 Filter → Interceptor → AOP → Interceptor → Filter 순이다.
- 서버를 실행시켜 Servlet이 올라오는 동안에 init이 실행되고, 그 후 doFilter가 실행된다.
- Controller에 들어가기 전 preHandler(Interceptor)가 실행 된다.
- Controller에서 나와 postHandler(Interceptor), after Completion(Interceptor), doFilter 순으로 진행이 된다.