그림 그리는 개발자
  • 스프링부트 Filter, DispatcherServlet, Interceptor, Controller
    2022년 01월 30일 21시 06분 22초에 업로드 된 글입니다.
    작성자: 루루개발자

    안녕하세요. 이번에는 스프링부트로 Request 가 들어왔을 때

    어떤 과정을 거치게 되는지에 대해 한번 알아보도록 하겠습니다.

     

    스프링부트로 요청이 들어온 경우 다음과 같은 단계를 거치게 됩니다.

    1. Filter

    2. DispatcherServlet

    3. Interceptor 

    4. Controller

     

    그렇다면 각 단계에서는 어떤 일을 처리하게 되는지 알아봅시다.

     

    1. Filter

    * 웹 어플리케이션에서 관리되는 영역

    * 요청/응답에 대해 최초/최종 단계에 위치

    * 요청/응답의 정보를 변경하거나 가공할 때 Filter 를 사용함

    * 유일하게 ServletRequest, ServletResponse의 객체를 변환할 수 있음

    * Spring Context 에 진입하기 전 상태인 Web Context 에서 동작

    [구현방법 바로가기]

     

    2. DispatcherServlet

    * Spring이 제공해주는 기능

    * HTTP 프로토콜로 들어오는 요청을 컨트롤러보다 먼저 받아 적합한 컨트롤러에 위임해주는 역할

    * 위와 같은 역할 때문에 Front Controller 라고도 불림

    * 공통 작업을 처리할 때 사용

    [구현방법 바로가기]

     

    3. Interceptor

    * "무언가를 가로챈다" 라는 뜻답게 컨트롤러에 접근하기 전, 후를 가로채어 무언가를 처리할 때 사용

    * 로깅을 구현할 때 보통 이 Interceptor 에서 구현함

    [구현방법 바로가기]

     

    4. Controller

    * 요청온 URL에 맵핑되는 부분이 있으면 호출되는 영역

    * 필요한 비즈니스 로직을 호출

    * 어떤 결과를 가져오고 어떤 결과를 전달할지 결정하는 부분

    [구현방법 바로가기]

     

     

     

     

     

     

     

     

    <출처>

    https://velog.io/@ansalstmd/%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8-%EB%8B%A4%EC%96%91%ED%95%9C-%EA%B8%B0%EB%8A%A5-5.-Spring-Boot-Filter%EC%99%80-Interceptor
    https://mangkyu.tistory.com/18
    https://congsong.tistory.com/24
    https://mangkyu.tistory.com/173

     

     

     

     

     

    댓글