스프링 프레임워크 첫걸음_week 5

tth-k·2023년 11월 15일
post-thumbnail

5장 MVC 모델 알아보기

5-1 MVC 모델 알아보기

MVC 모델이란?

  • MVC 모델이란 '프로그램의 처리 역할을 나누어서 프로그램을 작성하는 방법'으로 웹 시스템 개발에 자주 사용되고 있다.

  • 역할 종류
    - M : 모델(Model)
    - V : 뷰(View)
    - C : 컨트롤러(Controller)

  • 모델(Model: M)
    - 시스템에서 비즈니스 로직을 담당한다.
    - 비즈니스 로직이란 시스템의 코어 부분 혹은 시스템의 목적을 처리하는 부분 등으로 해석할 수 있다.
    - 예시) 회원가입시 아이디의 중복확인, 본인인증, 비밀번호 규칙 확인 등

  • 뷰(View: V)
    - 한마디로 설명하면 '외형'이다.
    - 사용자 입력과 결과 출력 등 시스템에서 표현 부분을 담당하며 웹 애플리케이션에서는 주로 화면을 담당한다.

  • 컨트롤러(Controller: C)
    - 서비스 처리를 담당하는 모델과 화면 표시를 담당하는 뷰를 제어하는 역할을 한다.
    - 사용자가 입력한 내용을 뷰에서 받고 받은 데이터를 기준으로 모델에 내용을 전달한다.
    - 모델에서 받은 데이터를 뷰에 전달해서 화면에 표시하는 역할을 한다.

MVC 모델의 개요와 이점

  • 이점
    - 역할 분담을 통해 효율적인 개발 가능
    - 개발하는 엔지니어의 분업화가 용이
    - 설계 변경에 유연하게 대응 가능

5-2 스프링 MVC 알아보기

스프링 MVC란?

  • 웹 애플리케이션을 간단하게 만들 수 있는 기능을 제공하는 프레임워크

  • 주요 기능 : 화면 전환, 사용자가 사용하는 브라우저와 서버 간의 입출력 데이터 전달을 단순화하는 등

  • 구성요소
    - DispatcherServlet : 모든 요청을 수신하는 프런트 컨트롤러
    - Model : 컨트롤러에서 뷰에 넘겨주는 표시용 데이터 등을 저장하는 객체
    - 컨트롤러 : 요청에 대응해서 처리할 내용이 있는 곳
    - 서비스 처리 : 데이터베이스에 접속해서 데이터를 취득하거나 데이터를 가공하는 등 여러 가지 작업을 실행, 개발자가 설계하고 구현한다.
    (※ 스프링 MVC와 관계없음)
    - 뷰 : 화면 표시 처리를 합니다(구체적으로는 JSP 등의 처리)

요청을 받고 응답을 보낼 때까지의 흐름

  1. 모든 요청을 수신하는 프런트 컨트롤러인 DispatcherServlet이 클라이언트로부터 요청을 수신한다.

  2. DispatcherServlet이 컨트롤러의 요청 핸들러 메서드를 호출한다.

  3. 컨트롤러는 비즈니스 로직 처리를 호출하고, 처리 결과를 받는다.

  4. 처리 결과를 모델로 설정하고, 뷰 이름을 반환한다.

  5. 반환된 뷰 이름을 받아 DispatcherServlet이 뷰 이름에 대응하는 뷰에 대해 화면 표시 처리를 의뢰한다.

  6. 클라이언트가 응답을 받고 브라우저에 화면이 표시된다.

과정이 복잡해보이지만 번거로운 처리는 스프링 MVC가 담당하기 때문에 실제로 작성하는 부분은 컨트롤러, 비즈니스 로직 처리, 뷰의 세 가지뿐인것을 알 수 있다.

5-3 스프링 MVC 사용해보기 -> 생략

profile
백엔드 취준생 / 코린이 ヾ(≧▽≦*)o

0개의 댓글