대충 정리

[대충 정리] sw아카데미 Spring 13일차

0taek 2023. 2. 18. 22:33

스프링 웹 MVC 동작 과정

 

1. dispatcherServlet에 웹페이지의 주소와 함께 request가 들어온다.

 

2. 해당 웹페이지를 controll 할 수 있는 handler를 찾는다.(mapping 대상을 찾는다)

 

3. handlermapping의 결과를 받는다. 없으면 404 에러

 

4. 어떤 컨트롤러가 들어와도 동일한 타입의 결과를 받아야 하기 때문에, 사용 가능한 handlerAdapter를 찾는다. (mapping 대상을 찾는다. 나는 handlerAdapter를 세미 프론트 컨트롤러라고 이해하고 싶다. 프론트 컨트롤러는 dispatcherServlet)

 

5. handlerAdapterMapping의 결과를 받는다. 없으면.. 404?

 

6. handlerAdapter에서 handle 메소드(혹은 로직)을 수행하여 해당 서버가 해야 하는 일을 처리한다. 이때 (reqest, respond 필수)

 

7. 무슨 일을 처리 했던지 간에, ModelView 필요한 정보(JSON, Attribute) 를 넣고 인스턴스를 생성하여 dispatcherServlet에 돌려준다.

 

8. ModelView에는 viewPath의 논리적 경로가 담겨져 있는데(Handle의 결과), ModelView를 ViewResolver에 넘겨서 물리적 경로를 얻는다.

 

9. View 에 물리적 경로와 분리된 Model 객체를 넘기며, View를 통해 렌더링을 하고, 이 과정에서 다음 request에 대하여 model의 정보들을 삽입하여 넘길 수 있다.