서블릿 필터 , 인터셉터
웹개발을 할때 로그인 , 권한체크 등과 같이 공통적으로 처리해야할 로직이 생기는데 이때 중복되는 코드를 줄이기 위해 활용 가능한것이 3가지가 있다. 1. Filter 2. Interceptor 3. AOP 일단 흐름을 보면 filter -> interceptor -> AOP 순이다.
각각의 특징을 살펴보면
필터
- 스프링 범위 밖에서 처리가 일어난다.
- 웹 컨테이너에서 동작한다
- J2EE 표준스펙기능
- 디스패처 서블릿(Dispatcher Servlet)에 요청이 전달되기 전/후
인터셉터
- 스프링이 제공하는 기술
- 스프링 컨텍스트에서 동작,
- 컨트롤러를 호출하기 전/후 스프링의 모든 빈에 접근이 가능
AOP는 비즈니스단의 메서드에서 조금 더 세밀하게 조정하고 싶을때 사용합니다.인터셉터나 필터와 달리 메소드 전후의 지점에 자유롭게 설정이 가능하고 인터셉터와 필터는 주소로 대상을 구분해서 걸러내야 하는 반면 AOP는 주소,파라미터,어노테이션 등 다양한 방법으로 대상을 지정할수있습니다.
대표적으로 필터(Filter)를 인증과 인가에 사용하는 도구로는 SpringSecurity가 있다. SpringSecurity의 특징 중 하나는 Spring MVC에 종속적이지 않다는 것인데, 이러한 이유로는 필터 기반으로 인증/인가 처리를 하기 때문이다.
'Spring' 카테고리의 다른 글
WebSocket / STOMP (1) | 2022.10.28 |
---|---|
querydsl 사용법! (0) | 2022.10.27 |
Spring. 영속성이란 (persistence) (0) | 2022.10.13 |
Spring. JPA ORM 및 연관관계 (0) | 2022.10.13 |
Spring. Form input값 DTO 자동 주입 (1) | 2022.10.08 |
댓글