[Spring] 필터

kang·2024년 8월 29일

SPRING

목록 보기
14/22

스프링 로직이 실행되기 전에 사용자의 요청을 한 번 걸러주는 역할

💡 여기서 DispatcherServlet 이란?
클라이언트의 모든 HTTP 요청을 받아 적절한 컨트롤러로 전달하는 친구!

  • 모든 컨트롤러 들어가기 전에 Filter라는 친구를 지나서 들어가니 필터에서 로그인 처리 로직을 넣어주면 동일한 코드를 반복해서 작성할 필요가 없음!

필터의 구조

  • 순서는 어찌 정해지나?

    @Order 어노테이션을 사용해줌


@Component
@Order(1)
Slf4j
public class FilterConfig implements Filter {

    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain)
        throws ServletException, IOException {
        log.info("안녕 안녕" );
        filterChain.doFilter(request, response);
        log.info("잘가 잘가");
        
    }
}

@Component
@Order(2)
@Slf4j
public class FilterSecondConfig implements Filter {

    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain)
        throws ServletException, IOException {

        log.info("또 왔네 또 왔어" );
        filterChain.doFilter(request, response);
        log.info("찐으로 잘가 다시 오시마 잘가");
    }
}
profile
뉴비 개발 공부중

0개의 댓글