Gidhub BE Developer

DispatcherServlet 동작 원리

2019-02-23
goodGid

Front Controller 패턴

  • Spring은 Front Controller 패턴을 사용한다.

  • 모든 요청을 Controller 1개 받아서

    해당 요청을 처리할 handler에게 위임(=dispatch)한다.


DispacherServlet

  • Spring이 Front Controller 패턴 역할을 해주는 Servlet을 이미 구현해놓았다.

    = DispacherServlet


DispacherServlet 동작 순서

1. 요청을 분석한다.

2. 등록된 handlerMappings 중에서 요청을 처리할 수 있는 handler를 찾는다.

3. 등록된 handlerAdapters 중에서 handler(=2번 결과)를 처리할 수 있는 adapter를 찾는다.

4. 그렇게 찾은 adapter를 사용하여 실제 요청을 처리한다.

5. 4번의 return 값을 보고 예외처리 / View Rendering / Response Body로 응답할지 결정한다.
  • View Rendering 하는 경우


Reference


Index