Spring 입문 (MVC 패턴)

KimGwangmin·2026년 9월 6일

MVC 패턴

SoC(Separation of Concerns, 관심사의 분리) 원칙에 따른 역할 분담

  • Model: 데이터와 비즈니스 로직
  • View: 사용자에게 보여지는 화면(UI)
  • Controller: 요청을 받아 Model과 View를 연결

Controller

  • URL 매핑: 어떤 요청이 들어왔을 때 어떤 메서드를 실행할지 결정
  • 로직 호출, 데이터를 Model에 담고 View 이름 반환
  • Controller 클래스에는 @Controller 어노테이션을 붙임

Model

  • Controller에서 View로 데이터 전달
  • Key-Value 형태로 데이터 저장
  • 주로 Model, ModelAndView 클래스 사용

View

  • 사용자에게 보여지는 화면 담당
  • Model의 데이터를 참조하여 HTML 생성, 클라이언트에게 응답
  • Controller가 반환한 View 이름을 ViewResolver가 실제 View 파일과 매핑시켜 렌더링
  • 백엔드에서 View를 그릴 때 JSPThymeleaf 등의 라이브러리 사용

SSR, CSR

1. SSR(Server Side Rendering)

  • 서버에서 완성된 HTML을 통째로 브라우저(클라이언트)에 전달
  • 초기 로딩 속도 빠름 (응답 즉시 콘텐츠를 볼 수 있음)
  • 검색 엔진 최적화(SEO)에 유리 (모든 내용이 응답에 포함되므로)
  • Thymeleaf는 SSR 방식

2. CSR(Client Side Rendering)

  • 서버에서는 HTML 뼈대와 자바스크립트 파일만 전달
  • 브라우저가 자바스크립트 실행, 필요한 데이터를 서버에 다시 요청
  • 브라우저가 페이지를 조립하여 화면을 그림
  • 초기 로딩 느림
  • 로딩 이후에는 앱처럼 부드럽고 빠른 화면 전환 가능
  • React, Vue 같은 최신 프론트엔드 프레임워크들은 CSR 방식

0개의 댓글