initerceptor 란 무엇인가?
- 주로 컨트롤러 이벤트 호출 전에 가로채서 어떠한 처리를 해주기 위해 사용되는 기능
- 만약 인터셉터를 사용하지 않고 로그인 체크를 진행한다면 로그인이 필수인 컨트롤러를 작성할 때 마다 로그인 체크 로직을 태워야 한다.
ex) 세션 체크와 관련하여..
- 세션 체크가 필요한 페이지이면 화면에서 interceptor를 콜하고 true 값이 떨어지면 controller를 호출한다.
- 세션 체크가 필요 없는 페이지면 바로 controller 호출
- 세션체크가 필요한 페이지는 XML 설정에 의해 정의해 줌
예전에는 스크립트로 로그인 체크를 하거나 각 페이지마다 if문을 주어 로그인 유무를 판단했다. 하지만 지금은 xml 설정과 class 파일 하나 추가로 해결 가능
◆ 인터셉터에 대한 오버라이드 속성
1) preHandle - controller 이벤트 호출 전
2) postHandle - controller 후출 후 view 페이지 출력 전
3) afterCompletion - controller + view 페이지 모두 출력 후
참고: http://hellogk.tistory.com/90