ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Dispatcherservlet
    백기선(인프런 강의)/스프링 웹 MVC 2020. 8. 24. 21:05
    반응형

    DispatcherServlet 초기화

    • 다음의 특별한 타입의 빈들을 찾거나, 기본 전략에 해당하는 빈들을 등록한다.
    • HandlerMapping
      • 전략 패턴 사용 
      • 핸들러를 찾아주는 인터페이스
      • BeanNameHandlerMapping
      • RequestMappingHandlerMapping
        • 실질적으로 애노테이션, 컨트롤러와 RequestMapping, 이것을 Meta Annotation으로 사용하고 있는 GetMapping, PostMapping 등을 사용해서 Handler지정한 것들을 찾아주는 역할

     

    • HandlerAdapter
      • 전략 패턴 사용 
      • Handler를 실행하는 인터페이스
      • RequestMappingHandlerAdapter

     

     

    • HandlerExceptionResolver
    • ViewResolver

     

     

     

    DispatcherServlet 동작 순서

    1. 요청을 분석한다. (로케일, 테마, 멀티파트 등)
    2. (핸들러 맵핑에게 위임하여) 요청을 처리할 핸들러를 찾는다.
    3. (등록되어 있는 핸들러 어댑터 중에) 해당 핸들러를 실행할 수 있는 "핸들러 어댑터"를 찾는다.
    4. 찾아낸 "핸들러 어댑터"를 사용해서 핸들러의 응답을 처리한다.
    • 핸들러의 리턴값을 보고 어떻게 처리할지 판단한다.
      • 뷰 이름에 해당하는 뷰를 찾아서 모델 데이터를 랜더링한다.
      • @ResponseEntity가 있다면 Converter를 사용해서 응답 본문을 만들고. 

      5. (부가적으로) 예외가 발생했다면, 예외 처리 핸들러에 요청 처리를 위임한다.
      6. 최종적으로 응답을 보낸다.

     

    반응형
Designed by Tistory.