
보안, 로깅, 인코딩, 인증/인가 등 다양한 작업을 처리하기 위해 사용된다. 한마디로 클라이언트(Client)로 부터 서버(Server)로 요청이 들어오기 전에 서블릿(Servlet)을 거쳐서 필터링(Filtering) 하는 것을 말한다.
특징
Servlet Filer의 특징으로는
- 공통 관심사 로직 처리로 재사용성이 높고 유지보수가 쉬우며, 요청을 처리하는데 있어 일관성을 유지한다.
- HTTP 요청 및 응답 필터링이 가능하다.
- Filter Chain을 통해 여러 개의 필터를 순차적으로 적용할 수있다.
Servlet Filter 구현
Filter 를 implements 하고, doFilter를 오버라이드 하여 구현체를 만든다.

마지막에 filterChain.doFilter를 통해 다음 filter가 존재하지 않으면 서블렛(Servlet)을 호출한다.

만들어진 doFilter를 빈(Bean)으로 등록한다.
FilterRegistrationBean<> 정리
setFilter()
등록할 필터를 파라미터로 전달하여 필터를 등록한다.
setOrder()
필터는 체인 형식으로 동작하는 이를 실행 할때 순서가 필요하다. setOrder(순서)를 사용하여 우선 순위를 정할 수 있다.
addUrlPatterns()
필터를 적용할 URL 패턴을 지정한다. 여러개를 지정할 수있고 규측은 Servlet URL Pattrtn과 같다. 현재 코드에서는 모든 Request를 허용한다.
'Spring Boot' 카테고리의 다른 글
| [Spring Boot] JPA 영속성 컨텍스트 (Persistence Context) (0) | 2025.02.10 |
|---|---|
| [Spring] Spring Container & Bean에 대해 알아보자 (1) | 2025.02.05 |