백엔드/웹개발
[웹개발] 스프링 프레임워크 MVC
김곰댕
2022. 3. 11. 10:10
728x90
스프링에서 지원하는 MVC 기능 특징
- 모델2 아키텍처를 지원
- 스프링과 다른 모듈과의 연계가 쉬움
- 타이즈(tiles)나 사이트메시(sitemesh)같은 View 기술과의 연계가 쉬움
- 태그 라이브러리를 통해 message 출력, theme 적용 그리고 입력 폼을 보다 쉽게 구현 가능
스프링 프레임워크 MVC 구조도
구성요소 | 설명 |
DispatcherServlet | 클라이언트의 요청을 전달받아 해당 요청에 대한 컨트롤러를 선택하여 클라이언트의 요청을 전달, 또한 컨트롤러가 반환한 값을 View에 전달하여 알맞은 응답을 생성 |
HandlerMapping | 클라이언트가 요청한 URL을 처리할 컨트롤러를 지정 |
Controller | 클라이언트의 요청을 처리한 후 그 결과를 DispatcherServlet에 전달 |
ModelAndView | 컨트롤러가 처리한 결과 및 뷰 선택에 필요한 정보를 저장 |
ViewResolver | 컨트롤러의 처리 결과를 전달할 뷰를 지정 |
View | 컨트롤러의 처리 결과 화면을 생성 |
스프링 프레임워크 MVC 기능 수행 과정
- 브라우저가 DispatcherServlet에 URL로 접근하여 해당 정보를 요청
- 핸들러 매핑에서 해당 요청에 대해 매핑된 컨트롤러가 있는지 요청
- 매핑된 컨트롤러에 대해 처리 요청
- 컨트롤러가 클라이언트의 요청을 처리한 결과와 View 이름을 ModelAndView에 저장해서 DispatcherServlet으로 반환
- DispatcherServlet에서는 컨트롤러에서 보내온 Veiw 이름을 ViewResolver로 보내 해당 View를 요청
- ViewResolver는 요청한 View를 보냄
- View의 처리 결과를 DispatcherServlet으로 보냄
- DispatcherServlet은 최종 결과를 브라우저로 전송
728x90