Hansel
1. 스프링 MVC 패턴 본문

스프링의 MVC 패턴은 모델 뷰 컨트롤러의 패턴을 말한다.
1. MVC 패턴 개념
MVC 패턴은 컨트롤러(Controller)와 뷰(View)라는 영역으로 서로 역할을 나눈 것을 말한다.
컨트롤러: HTTP 요청을 받아서 파라미터를 검증하고, 비즈니스 로직을 실행한다.
그리고 뷰에 전달할 결과 데이터를 조회해서 모델에 담는다
모델 : 뷰에 출력할 데이터를 담아둔다.
뷰가 필요한 데이터를 모두 모델에 담아서 전달해주는 덕분에
뷰는 비즈니스 로직이나 데이터 접근을 몰라도 되고,
화면을 렌더링 하는 일에 집중할 수 있다.
뷰: 모델에 담겨있는 데이터를 사용해서 화면을 그리는 일에 집중한다.
2. 프론트 컨트롤러 패턴

이 스프링 MVC 패턴에선 프론트 컨트롤러 패턴을 사용한다.
프론트 컨트롤러 서블릿 하나로 클라이언트의 요청을 받고
프론트 컨트롤러가 요청에 맞는 컨트롤러를 찾아서 호출한다.
스프링 웹 MVC의 핵심이 프론트 컨트롤러이며,
스프링 웹 MVC의 DispatcherServlet이 프론트컨트롤러 패턴으로 구현되어 있다.
3. 스프링 MVC의 구조

스프링 MVC의 프론트 컨트롤러가 바로 디스패처 서블릿(DispatcherServlet)이다.
그리고 이 디스패처 서블릿이 바로 스프링 MVC의 핵심이다.
어댑터 패턴
프론트 컨트롤러가 다양한 방식의 컨트롤러를 처리할 수 있도록 하는 패턴
- 핸들러 어댑터: 중간에 어댑터 역할을 하는 어댑터가 어댑터 역할을 해주는 덕분에 다양한 종류의 컨트롤러를 호출할 수 있다
- 핸들러: 어댑터가 있기 때문에 꼭 컨트롤러의 개념 뿐만 아니라 어떠한 것이든 해당하는 종류의 어댑터만 있으면 다 처리할 수 있다.
동작 순서
- 핸들러 조회: 핸들러 매핑을 통해 요청 URL에 매핑된 핸들러(컨트롤러)를 조회한다.
- 핸들러 어댑터 조회: 핸들러를 실행할 수 있는 핸들러 어댑터를 조회한다.
- 핸들러 어댑터 실행: 핸들러 어댑터를 실행한다
- 핸들러 실행: 핸들러 어댑터가 실제 핸들러를 실행한다.
- ModelAndView 반환: 핸들러 어댑터는 핸들러가 반환하는 정보를 ModelAndView로 변환해서 반환한다.
- viewResolver 호출: 뷰 리졸버를 찾고 실행한다
- View 반환: 뷰 리졸버는 뷰의 논리 이름을 물리 이름으로 바꾸고, 렌더링 역할을 담당하는 뷰 객체를 반환한다.
- 뷰 렌더링: 뷰를 통해서 뷰를 렌더링 한다.
'Spring > MVC' 카테고리의 다른 글
| 6. 메세지와 국제화 (0) | 2022.03.29 |
|---|---|
| 5. 스프링 MVC / 기타 (0) | 2022.03.26 |
| 4. 스프링 MVC / 타임리프 기본 (0) | 2022.03.26 |
| 3. 스프링 MVC 기본 기능 2 (0) | 2022.03.26 |
| 2. 스프링 MVC 기본 기능 1 (0) | 2022.03.26 |