본문 바로가기

삽질

Spring Web MVC 동작 과정

스프링으로 웹 서버를 만들면,

특별한 서블릿을 바탕으로 사용자의 응답을 받을 수 있습니다.

 

이 서블릿 이름이 DispatcherServlet입니다.

 

스프링은 이 DispatcherServlet으로 사용자의 요청을 받고, 처리한 뒤 반환을 합니다.

그림은 아래와 같습니다.

 

위 그림의 순서를 바탕으로 설명을 덧붙여 보겠습니다.

 

1. DispatcherServlet이 Client로 부터 요청을 받음

webapp/WEB-INF/web.xml에 정의되어 있음

 

2. DispatcherServlet이 어떤 컨트롤러 메소드에 가야하는지 HandlerMapping에 물어봄

 

3. HandlerMapping은 url에 매턴에 맞는 Controller와 메소드의 정보를 DispatcherServlet에 제공함

 

4. 응답을 받은 DispatcherServlet은 Conroller에게 요청을 위임함

 

5. Contoller는 요청을 처리한 뒤, 이동해야 하는 view 이름을 DispatcherServlet에 제공함

 

6. Controller로 부터 응답받은 DispatcherServlet은 view 이름을 ViewResolver에게 전달함

 

7. ViewResolver는 view의 전체 경로를 만들어 DispatcherServlet에 응답함

webapp/WEB-INF/spring/appServlet/servlet-context.xml에 정의되어 있음

 

8. ViewResolver로 응답받은 DispatcherServlet은 View에서 jsp파일 이름을 제공함

 

9. View는 jsp를 html로 변환하여 응답 화면을 만들어서 반환함

 

10. View로 응답받은 DispatcherServlet은 Client에게 응답 화면을 반환함

'삽질' 카테고리의 다른 글

Mybatis selectKey 사용 방법  (0) 2023.10.26
Spring Web의 두 가지 기본 Context  (0) 2023.10.22
findAll과 findById 조회의 차이  (0) 2023.10.12
@WebMvcTest 옵션으로 특정 클래스 지정하기  (0) 2023.09.18
JIT과 AOT  (0) 2023.09.15