[우아한테크코스] 9월 12일 TIL
[Spring] MVC 구조 완벽 이해하기
MVC model 1
모든 요청을 JspView가 처리한다.
MVC model 2
-
dispatcher servlet 생성
annotation으로부터 controller를 찾아 handlerMapping, handlerAdapter에 추가해둔다.
-
요청
handlerMapping으로부터 적절한 controller를 찾아 handlerAdapter를 이용해 실행한다.
-
응답
적절한 응답을 렌더링
미션 흐름
-
포트 할당
-
tomcat 생성
tomcat이란? web application server로 동적 컨텐츠를 처리하도록 한다. 웹 서버와 연동하여 실행할 수 있는 자바 환경을 제공하며 jsp와 servlet을 실행할 수 있도록 하는 서블릿 컨테이너 역할을 수행한다.
-
컨텍스트 생성 후 tomcat 시작
tomcat으로부터 패키지에 따라 컨텍스트를 생성한다.
생성한 컨텍스트를 실행한다.
-
tomcat이 시작되면 WebApplicationInitializer의 구현체인 AppWebApplicationInitializer로 어플리케이션이 시작된다.
- DispatcherServlet 생성
- handlerMapping, handlerAdapter 추가
- servletContext에 dispatcherServlet 추가
-
요청
요청이 들어오면 mapping에서 찾아서 adapter를 찾아 handle 한다.
Handle 하면 어노테이션이 달려있는 경우는 그 controller 함수를 실행해 응답과 함께 렌더링한다.
그게 아니라면 JspView로부터 view를 찾아 렌더링한다.