👒 스프링에서
프로그램에서 공통으로 처리해야하는 기능들을 처리하는 역할을 한다.
예 : 로그인 세션 체크, 권한 체크, XSS 방어, Logging 등
👒 흐름
Filter -> Interceptor -> AOP
👒 Filter
요청과 응답을 거른다.
위치 : web.xml
사용 : 전체적인 Request단에서 어떤 처리가 필요할때
인증,문자 인코딩,데이터압축,암호화필터, URL 및 기타정보를 캐시하는 필터
👒 Interceptor
요청에 대한 작업 전, 후로 가로챈다.
위치 : servlet-context.xml
사용 : 세션 및 쿠키 체크하는 http 프로토콜 단위로 처리해야 하는 업무가 있을 때
👒 AOP
OOP 했을 때 중복을 줄일 수 없는 부분을 줄이기 위해 종단에서 바라보고 처리한다.
위 두 개는 주소로 대상을 지정하지만, AOP는 주소, 파라미터, 어노테이션 등 다양한 방법으로 대상을 지정한다.
위치 : 메소드 앞에 Proxy 패턴의 형태로 실행
사용 : 로깅,트랜잭션,에러처리 등