이전까지는 스프링 MVC 구조와 유사한 프레임워크를 만들어 보면서 해당 구조가 왜 나왔고 용도가 무엇인지 알아보았다.
지금 부터는 실제 스프링 MVC 구조를 보고 정리해볼것이다.
스프링 MVC 구조
![](https://velog.velcdn.com/images%2Fwogud7587%2Fpost%2F2c87ceae-7c67-4882-aba6-93be1b8bf601%2Fmvc%E1%84%80%E1%85%AE%E1%84%8C%E1%85%A9.png)
SpringMVC 동작 순서
- 핸들러 조회
- 핸들러 매핑을 통해 URL에 매핑된 핸들러(컨트롤러) 조회
- 핸들러 어댑터 조회
- 핸들러 어댑터 실행
- 핸들러 실행
- ModelAndView 반환
- 핸들러에 관계없이 핸들러 어댑터가 ModelAndView로 변환후 반환
- ViewResolver 호출
- View 반환
- 뷰 리졸버가 뷰의 논리 이름을 물리이름으로 변환, 뷰 객체 반환
- View 렌더링