336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
Interceptor
- 서블릿의 필터와 비슷한 개념
- 실무에서는 필터와 같이 사용한다
- 구성의 차이점
- 필터
- Spring bean을 받아오지 못함
- 서블릿에게 요청 전, 후 모두 거를 수 있음
- doFilter 위는 요청 전이며 아래는 요청 후를 필터를 나타낸다
- 인터셉터
- Spring bean을 받아올 수 있음
- Controller를 실행전, 실행 직후 (뷰 실행 전), 브라우저에게 응답되기 직전 (뷰 실행 이후)
- 3가지 상황에서 데이터를 관리할 수 있음
- preHandle(실행 전), postHandle(실행 직후), afterCompletion(응답 직전)
- 사용되는 방식
- 요청 경로마다 접근 제어를 다르게 할 때
- 사용자가 특정 URL을 요청할 때 마다 접근내역 기록하고 싶을 때
- 로그인 체크를 해야할 때
- 특정 URL만 지정할 수 있다 (필터는 불가능해서 whiteList로 따로 지정)
# 요청 처리 프로세스
- 브라우저의 요청 시 필터가 받은 후 스프링의 Dispatcher Servlet이 받는다
- 서블릿은 Controller 찾기 직전 인터셉터가 요청을 받아 처리 후 Controller에게 요청
- 응답 순은 역순으로 진행
# 인터셉터 생성
패키지 내에서 interceptor라는 패키지를 새로 생성해본다
그리고 클래스를 생성 후 HandlerInterceptorAdapter를 상속 한다
그리고 나서 Ctrl + Space로 preHandle, postHandle, afterCompletion을 생성한다
그리고 나서 preHandle을 return true로 준다
return이 false라면 Controller를 호출하지 않게 되므로 return true라고 준다
그리고 각각의 Handler에게 출력을해서 테스트를 진행해본다
그리고 난 후 applicationContext.xml에 추가를 해줘야 한다
위와 같이 추가를 해주면 된다
모든 URL에 interceptor인 TextInterceptor를 거쳐가게끔 만드는 것이다
그리고 나서 실행을 하면 다음과 같이 확인할 수 있다
'[ Developer ] > Spring Framework' 카테고리의 다른 글
[Spring] 스프링 빈 분리 Bean Config 분리 (0) | 2016.06.10 |
---|---|
[Spring] 스프링 로그남기기 Logback SLF4J 이용 (0) | 2016.06.10 |
[Spring] 스프링 컨트롤러 Controller (0) | 2016.06.08 |
[Spring] 스프링 MVC 기본 및 응용 실습 Model View Controller (0) | 2016.06.08 |
[Spring] 스프링 의존성 주입 실습 DI 실습 (0) | 2016.06.08 |