1. 인터셉터란?
인터셉터란 중간에 가로챈다는 의미이다.
스프링에서도 말 그대로 중간에서 요청을 가로채서 어떠한 일을 하는 것을 말한다
인터셉터의 정식 명칭은 핸들러 인터셉터이다
클라이언트의 요청이 컨트롤러에 가기 전에 가로채고, 응답이 클라이언트에게 가기전에 가로챈다.
인터셉터는 DispatcherServlet이 컨트롤러를 요청하기 전,후에 요청과 응답을 가로채서 가공할 수 있도록 해준다
예를 들어 로그인 기능이 있을 때 로그인을 한 사람만 보이는 페이지가 있고, 로그인 한 사람만 글을 작성할 수 있다고 하자.
그러면 페이지 컨트롤러에서도 로그인 확인 로직이 들어가고, 글 작성 컨트롤러에서도 로그인 확인 로직이 들어가야 한다
인터셉터를 사용하면 컨트롤러에 로직이 로그인 확인 로직이 없어도 컨트롤러에 들어가기 전에 인터셉터에서 로그인 확인을
하고 컨트롤러로 보낸다. 즉, 하나의 인터셉터로 프로젝트 내의 모든 요청에 로그인 여부를 확인 할 수 있다
2. 인터셉터 구현
인터셉터를 만들려면 HandlerInterceptorAdaptor 클래스를 상속받아야한다.
HandlerInterceptorAdaptor 클래스를
상속받으면 사용할 수 있는 3가지의 메서드들이 있다
(1) preHandler()
- 클라이언트가 url 호출 시 컨트롤러 호출 전 에 실행되는 메소드
(2) postHandle()
- 클라이언트가 url 호출 시 컨트롤러 호출 후 실행되는 메소드
(3) afterHandel()
- 모든 컨트롤러의 처리가 끝나고 화면처리까지 모두 끝나면 실행되는 메소드
3. mybatis 인터셉터
https://kim-jong-hyun.tistory.com/23
[Mybatis] - Mybatis Interceptor
이번장에서는 Mybatis Interceptor에 대해 알아보자. 말그대로 개발자가 XML 파일에 쿼리를 작성하고 서비스에서 DAO (SQL Mapper)를 호출할때 개발자가 작성한 쿼리를 가로챈다. Mybatis Interceptor에서는 개
kim-jong-hyun.tistory.com
'IT 공부' 카테고리의 다른 글
39. flutter 정리본 (0) | 2023.07.24 |
---|---|
38. Session, SessionScope 란? (0) | 2023.05.18 |
36. DI(Dependency Injection) 의존 관계 주입이란? (0) | 2023.03.31 |
35. AOP(관점 지향 프로그래밍) (0) | 2023.03.30 |
34. [JAVA] StringUtils (0) | 2023.03.27 |