MVC과 스프링 MVC - 1

초보개발·2021년 12월 4일
0

Spring

목록 보기
4/37

MVC(Model View Controller)

애플리케이션의 프레젠테이션 레이어를 구현할 때 일반적으로 사용하는 패턴이다. 서로 다른 컴포넌트에 대해 책임이 명확한 아키텍처를 정의하는 것이 주요 원칙이다.

  • Model : 비즈니스 데이터와 사용자의 컨텍스트 내 애플리케이션의 상태를 나타낸다.
    • 사용자 프로필 정보, 쇼핑 장바구니 데이터, 주문 데이터 등
  • View : 원하는 형식으로 사용자에게 데이터를 제공하고 사용자와의 상호 작용을 지원하며 클라이언트 측 유효성 검증, i18n, 스타일을 지원한다.
  • Controller : 서비스 레이어와의 상호 작용, 모델 업데이트, 실행 결과를 기반으로 사용자를 적절한 뷰로 이동시키는 것과 같이 FE에서 사용자가 수행한 요청 작업을 처리한다.

일반적인 웹의 MVC 패턴

  1. 요청 : 요청은 서버로 전송되고 대부분의 프레임워크(스프링 MVC 등)는 요청 처리를 위해 서블릿 형태의 디스패처를 서버에게 제공한다.
  2. 호출 : 디스패처는 HTTP 요청 정보와 웹 애플리케이션 구성을 기반으로 적절한 컨트롤러로 요청을 전달한다.
  3. 서비스 호출 : 컨트롤러는 서비스 레이어에 요청을 전달하고 처리 결과를 돌려 받는다.
  4. 모델 채움 : 컨트롤러는 서비스 레이어에서 얻은 정보를 이용해 모델을 채운다.
  5. 뷰 생성 : 모델을 기반으로 뷰가 생성된다.
  6. 응답 : 컨트롤러가 사용자에게 대응하는 뷰를 반환한다.

a. 요청 : XMLHTTPRequest를 준비하고 서버로 전송한다. 디스패처는 대응하는 컨트롤러로 요청을 전달한다.
b. 응답 : 컨트롤러가 서비스 레이어를 호출하고 그 결과를 받으면 응답 데이터에 서식을 적용해 브라우저로 전송한다. 이 때 뷰를 반환하지 않으며, 브라우저는 데이터를 받고 기존의 뷰를 부분적으로 업데이트한다.

0개의 댓글