반응형

Filter는 말 그대로 요청이나 결과를 Filtering 하는 역할을 수행한다.

 

https://gowoonsori.com/blog/spring/architecture/

 

Servlet과 Spring의 구조를 정말 잘 표현한 이미지이다.

 

Filter는 Servlet Stack으로 Dispatcher Servlet 앞단에 위치하고 있으며, Filter Chain으로 동작한다.

Filter는 Filter interface를 구현하면 되고 doFilter 메소드를 호출하면 chain 형식으로 다음 필터를 호출하는 식으로 동작 한다.

 

Interceptor랑 햇갈리는 경우가 많은데,

Interceptor의 위치는 Dispatcher Servelt에 요청이 들어온 다음에 위치하고 있다.

 

Filter와 Interceptor는 지향하는 점이 다르다고 할 수 있다.

물론 둘 다 요청과 응답을 제어할 수 있다는 점에 대해서는 같지만,

대체적으로 Filter의 경우 요청과 응답에 대한 처리가 필요한 경우(인증 등) 사용하는 경우가 많고,

Interceptor는 Business 로직에 좀 더 지향적인 처리가 필요한 경우(트랜잭션 등) 사용하는 경우가 많다.

반응형

'공부 > Spring' 카테고리의 다른 글

[Spring] DI란?  (0) 2021.09.20
[Spring] IoC란 무엇인가?  (0) 2021.09.16
@Transactional 동작하지 않는 경우  (0) 2021.09.10
[Spring] AOP란?  (0) 2021.09.08
Servlet Working Flow  (0) 2021.05.04

+ Recent posts