IT_Programming/Dev Libs & Framework

[펌] 스프링(Spring) MVC 흐름도 요약

JJun ™ 2018. 11. 1. 01:53



 * 출처

 : https://engkimbs.tistory.com/686

 : https://kim6394.tistory.com/115




스프링 MVC 모델 (Spring MVC Model)





  • DispatcherServletClient요청을 받음. 
  • HandlerMapping이 알맞은 Controller를 찾음.
  • HandlerMapping에 실행할 Controller의 메서드를 찾음.
         : 
    특수 목적으로 사용되는 HttpRequestHandler 인터페이스를 구현한 클래스를 동일한 방식으로 실행하고 처리하기 위해 
           HandlerAdapter 객체에게 요청 처리를 위임. 
    HandlerAdapter 객체는 Controller의 알맞은 메소드를 호출해서 요청을 처리.
  • Controller의 메서드를 실행하며 그 결과 Model로서 DispatcherServlet반환.
  • ViewResolver는 알맞은 JSP파일을 찾음.
  • ViewJSP파일을 Model의 정보를 토대로 Client에게 반환.






  • * 출처: https://jongmin92.github.io/2018/03/12/Spring/spring-mvc/










    스프링 MVC 구성 : 디스패처 서블릿, 뷰 리졸버, 인터셉터, 핸들러, 핸들러 매핑, 뷰 등



    1. 디스패처 서블릿이 클라이언트로부터 요청을 받음


    2. 요청을 처리할 수 있는 핸들러를 찾아야 함. 핸들러 매핑에게 물어봄


    3. 핸들러 매핑은 요청한 url을 보고 핸들러 이름을 알려줌. 이때 핸들러 실행하기 전/후에 처리할 것을 인터셉터로 만들어 줌


    4. 디스패처 서블릿은 해당하는 핸들러에게 제어권을 넘겨줌


    5. 핸들러는 응답에 필요한 서비스를 호출하고, 렌더링해야 하는 뷰 이름을 판단해 디스패처 서블릿에게 전송해줌


    6. 디스패처 서블릿은 받은 뷰 네임을 뷰 리졸버에게 전달해서 응답에 필요한 뷰를 만들라고 명령


    7. 이때 해당하는 뷰에 모델과 컨트롤러를 전달해서 원하는 응답을 생성해서 보내줌


    8. 받은 응답을 다시 클라이언트에게 응답







    스프링 MVC Model 2 방식 구조



    사진 출처 : http://blog.daum.net/gunsu0j/165