백엔드/웹개발

[웹개발] 스프링 프레임워크 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 기능 수행 과정

  1. 브라우저가 DispatcherServlet에 URL로 접근하여 해당 정보를 요청
  2. 핸들러 매핑에서 해당 요청에 대해 매핑된 컨트롤러가 있는지 요청
  3. 매핑된 컨트롤러에 대해 처리 요청
  4. 컨트롤러가 클라이언트의 요청을 처리한 결과와 View 이름을 ModelAndView에 저장해서 DispatcherServlet으로 반환
  5. DispatcherServlet에서는 컨트롤러에서 보내온 Veiw 이름을 ViewResolver로 보내 해당 View를 요청
  6. ViewResolver는 요청한 View를 보냄
  7. View의 처리 결과를 DispatcherServlet으로 보냄
  8. DispatcherServlet은 최종 결과를 브라우저로 전송

 

728x90