
요약)
1. 핸들러 조회 : 핸들러 매핑을 통해 URL에 매핑된 핸들러(컨트롤러) 조회
2. 핸들러 어댑터 조회 : 핸들러(컨트롤러)를 실행할 수 있는 핸들러 어댑터 조회
3. 핸들러 어댑터 실행
4. 핸들러 실행 : 핸들러 어댑터가 실제 핸들러를 실행
5. ModelAndView 반환 : 핸들러 어댑터는 핸들러가 반환하는 정보를 MddelAndView로 변환해 반환
6. viewResolver 호출
7. View 반환 : viewResolver는 뷰의 논리 이름을 물이 이름으로 바꾸고 렌더링 역할을 담당하는 뷰 객체 반환
8. 뷰 렌더링 : 뷰를 통해 뷰를 렌더링
풀이)
1) 클라이언트가 요청을 전송하면 DispatcherServlet 클래스에 요청이 전달
2) DispatcherServlet은 클라이언트의 요청을 처리할 Controller에 대한 검색을 HandlerMapping 인터페이스에 요청
3) HandlerMapping은 클라이언트 요청과 매핑되는 핸들러 객체를 다시 DispatcherServlet에 리턴
* 핸들러 객체는 Handler 메서드 정보를 포함하며, Handler 메서드는 Controller 클래스 안에 구현된 요청 처리 메서드를 말함
4) 실제 클라이언트 요청을 처리할 Handler 메서드를 찾아 호출해야 하는데, DispatcherServlet은 Handler 메서드를 직접 호출하지 않고 HandlerAdpater에게 호출을 위임
5) HandlerAdapter은 DispatcherServlet으로부터 전달받은 정보를 기반으로 해당 Controller의 Handler 메서드를 호출
6) Controller의 Handler 메서드는 비즈니스 로직 처리 후 리턴 받은 Model 데이터를 HandlerAdapter에 전달
7) HandlerAdapter은 전달받은 Model 데이터와 View 정보를 다시 DispatcherServlet에 전달
8) DispatcherServlet은 전달받은 View 정보를 다시 ViewResolver에게 전달해 View 검색을 요청
9) ViewResolver은 View 정보에 해당하는 View를 찾아 다시 리턴
10) DispatcherServlet은 ViewResolver로부터 전달받은 View 객체를 통해 Model 데이터를 넘겨주면서 클라이언트에 전달할 응답 데이터 생성을 요청
11) View은 응답 데이터를 생성해 다시 DispatcherServlet에 전달
12) DispatcherSerlvet은 View로부터 전달 받은 응답 데이터를 최종적으로 클라이언트에 전달
'공부 자료 > Spring' 카테고리의 다른 글
| [Spring Boot] Spring Boot 프로젝트 생성하기 (feat.스타터 사이트) (0) | 2022.10.22 |
|---|---|
| [Spring MVC] DTO(Data Transfer Object)/클래스 생성 (0) | 2022.10.21 |
| [Spring MVC] Spring MVC란? (0) | 2022.10.20 |
| [Spring Core] AOP - 애너테이션(Annotation) 이용 (0) | 2022.10.17 |
| [Spring Core] AOP - JoinPoint (0) | 2022.10.17 |