MVC 패턴

지원·2026년 3월 11일

SpringBoot

목록 보기
14/17
post-thumbnail

MVC 패턴

웹 개발에서 Model, View, Controller로 역할을 나눠서 관리하는 방식

  • Model: 데이터를 관리하는 역할
  • View: 모델이 처리한 결과 데이터의 화면 생성 담당
  • Controller: 클라이언트의 요청에 따라 서버에서 이를 처리하는 역할

JSP (View)

사용자가 브라우저에서 페이지를 요청하면 서버가 JSP를 실행해서 완성된 HTML 을 만들어 브라우저에 보내는 방식
ex)

<html>
<body>
    <%
        String name = "김지원";
    %>
    <h1><%= name %>님 안녕하세요</h1>
</body>
</html>

JSP는 HTML에 자바 코드를 넣을 수 있기 때문에 정적인 HTML이 아니라 상황에 따라 내용이 바뀌는 페이지를 만들 수 있다.

  • JSP 문법 기본
선언문 : 변수, 메서드 선언
<%! int count = 0; %>
스크립틀릿 : 자바 코드 직접 작성
<%
    String name = "김지원";
%>
표현식 : 값을 화면에 출력
<%= name %>
  • 예시
[컨트롤러]
request.setAttribute("username", "김지원");
request.getRequestDispatcher("/WEB-INF/views/home.jsp").forward(request, response);
[JSP]
<html>
<body>
    <h1>${username}님 환영합니다</h1>
</body>
</html>
[브라우저 결과]
<h1>김지원님 환영합니다<h1>

MVC Model-1

  • JSP가 요청 처리도 하고, 화면 출력도 같이 하는 방식
  • JSP 페이지 내에 로직 처리를 위한 자바 코드가 출력을 위한 코드(View)와 함께 삽입
  • 설계가 간단하여 개발 속도가 빠르고 작은 프로젝트에 유리

MVC Model-2

  • 요청 처리는 Controller가 하고, 화면 출력은 JSP가 담당하는 구조
  • 역할
    Controller : 요청 받음, 흐름 제어
    Model : 데이터 처리, 비즈니스 로직
    View(JSP) : 화면 출력만 담당

필요한 의존성

Lombok, SpringBoot DevTools, SpringWeb, Thymeleaf (뷰)

profile
개발 공부하는 김지원

0개의 댓글