MVC 전체 구조를 살펴봅니다. 


안녕하세요.
고코더 입니다.


오늘은 스프링에 MVC 구조를 한눈에 함께 파악해보는 시간을 가지려고 합니다.
개발 시작전에 구조도를 직접 그려봤습니다.
처음은 복잡해 보이지만 저랑 하나씩 뜯어보면 정말 간단하고
이해하기 쉬운 구조 입니다. 



전체 MVC 구조


깊이 들어가면 더 많은 구조가 있지만 이해가 필요한 만큼
작성해보았습니다. 



 1. DispatcherServlet 역할



Front 가 URL로 호출을 합니다. 그러면 DispatcherServlet이 클라이언트 요청을 최초로 받습니다. 
중앙집중식 프론트 컨트롤러입니다. MVC의 핵심 요소입니다. 



 2. Handler Mapping 역할




Handler Mapping은 DispatcherServlet에게 해당 requet가 어떤 컨트롤러를 사용하는지 응답합니다. 


 3. Controller



DispatcherServlet은 로직을 처리할 컨트롤러를 응답 받았으니 해당 
Controller로 처리 요청을 넘깁니다. 해당 컨트롤러는 로직을 수행하고 서비스를 요청하며
Model을 만듭니다. 그리고 ModerAndview 객체에 담아 다시 DispatcherServlet으로 넘겨줍니다. 




 4. ViewResolver 




DispatcherServlet는 ViewResolver로 해당 ModelAndView에 맞는 view를 찾아달라고 요청 합니다.
그럼 ViewResolver는 해당 view를 응답합니다. 



 5. View 



ViewResolver으로 부터 받은 view 정보로 DispatcherServlet 필요한 view를 찾아 Model 값을 넘겨
view을 출력하게 해줍니다. 



마무리

  
개발이 처음이거나 자바가 처음이라면 해당 구조도는 이해가 안되는게 정상입니다. 
하지만 눈에 익혀두면 스프링을 개발하다 보면 하나씩 이해가 됩니다.
추천하는 방법은 프린터로 출력해놓고 한쪽에 붙혀놓아 보세요.
그리고 오랫동안 생각해보면서 구조도를 뜯어보세요.



댓글을 달아 주세요