
필터(Filter)와 인터셉터(Interceptor)는 컨트롤러가 수행되기 전/후 처리를 위한 개념이다.
Filter
필터는 Spring Context에 포함되지 않는다.
요청 전/후에 대한 처리를 할 수 있다.
FilterChain 클래스를 통해 여러 필터를 적용할 수 있다.
메소드 종류
- init() : 필터 인스턴스 초기화
- doFilter() : 전/후 처리
- destory() : 필터 인스턴스 종료
Interceptor
Spring 내부에 존재하며, 스프링 내의 모든 객체(Spring Bean)에 접근 가능하다.
요청 전/후에 대한 처리를 할 수 있다.
사용 예로는 로그인 여부 확인, 권한 확인 등이 있다.
인증체크 후 어느 컨트롤러로 매핑할 지 제어할 경우 사용하기 적합하다.
메소드 종류
- preHandle() : Controller가 실행 전에 먼저 수행된다.
- false 리턴: Controller를 수행하지 않는다.
- true 리턴: Controller를 수행시킨다.
- postHandle() : Controller 수행 후 수행된다. View 렌더링 전이므로 Model과 View를(ModelAndView) 가지고 있다.
- 리턴값 없음
- afterCopletion() : View가 렌더링 된 이후 호출된다.
- 리턴값 없음
'Spring > Spring MVC' 카테고리의 다른 글
| Cookie 확인( 생성및 조회, 삭제 ) (0) | 2024.05.27 |
|---|---|
| Spring MVC (0) | 2024.05.08 |
| 의존성에 따른 Run As Spring Boot App했을때 콘솔창 (0) | 2022.11.18 |
| Spring Web (Spring Starter Project Dependencies ) (1) | 2022.09.15 |
| Spring, DispatcherServlet , org.springframework.web.servlet (0) | 2022.07.16 |