JSP MVC2 방식에서 REST API 기반 개발로 넘어가기까지

태수·2025년 12월 24일

웹 구조 탐구

목록 보기
1/5

API 기반 개발을 알아보게 된 이유

저는 KDT 훈련 과정에서 스프링 웹 개발을 배우고 있으며,
주로 JSP 기반 MVC2 방식과 MyBatis를 활용한 웹 애플리케이션을 다뤄왔습니다.

처음에는 MVC 구조에 맞춰 화면을 반환하는 방식이 자연스럽게 느껴졌지만,
프로젝트를 진행할수록 최근 웹 개발에서 많이 사용되는 API 기반 구조와는 다소 차이가 있다는 생각이 들었습니다.

특히 서버가 화면을 직접 생성하고 반환하는 방식이
프론트엔드와 백엔드의 역할이 분리된 현재의 개발 흐름과는
조금 다른 방향이라는 점이 점점 더 크게 느껴졌습니다.

그래서 기존 커리큘럼에 머무르기보다는,
실무에서 사용되는 구조를 이해하고 싶어 따로 공부를 시작하게 되었습니다.
이번 글에서는 그 첫 단계로,
기존 JSP 기반 MVC2 방식의 개념을 정리하고, REST API 방식과 어떤 차이가 있는지를 중심으로 정리해 보려고 합니다.


기존 JSP 기반 MVC2 방식이란?

REST API를 이해하기 전에,
먼저 제가 익숙하게 사용해 왔던 JSP 기반 MVC2 방식이 어떤 구조인지 정리해 보겠습니다.

JSP 기반 MVC2는 자바 웹 개발에서 오랫동안 사용되어 온 전통적인 구조입니다.
Model, View, Controller의 역할을 분리하여 요청을 처리하는 패턴이며,
특히 서버 사이드 렌더링(SSR)을 전제로 한 구조라는 점이 특징입니다.

  • Controller: Servlet이 요청을 받아 처리합니다.
  • Model: Service, DAO 계층에서 비즈니스 로직과 DB 처리를 담당합니다.
  • View: JSP가 화면(HTML)을 생성하여 클라이언트에 전달합니다.

JSP MVC2의 요청 흐름

JSP MVC2의 가장 큰 특징은 서버가 화면까지 직접 생성한다는 점입니다.

  1. 클라이언트가 URL로 요청을 보냅니다.
  2. Servlet(Controller)이 요청을 받습니다.
  3. Service → DAO를 통해 비즈니스 로직과 DB 처리를 수행합니다.
  4. 처리 결과를 request 또는 session에 저장합니다.
  5. JSP로 forward하여 HTML 화면을 생성합니다.
  6. 완성된 화면을 클라이언트에 응답합니다.

JSP(View)의 역할

JSP는 View 역할을 담당하며, 서버에서 동적으로 HTML을 생성합니다.

  • JSTL, EL(Expression Language)을 사용하여 데이터 출력
  • 조건문, 반복문을 통해 화면 제어
  • 서버에서 렌더링된 HTML을 그대로 응답

이로 인해 화면과 서버 로직이 비교적 강하게 결합되는 구조를 가집니다.


Controller(Servlet)의 책임

Servlet은 다음과 같은 역할을 수행합니다.

  • URL 매핑
  • 요청 파라미터 처리 및 검증
  • Service 호출
  • 처리 결과를 JSP로 전달

Controller가 요청 처리부터 화면 이동까지 많은 책임을 가지게 됩니다.


JSP MVC2 방식의 특징과 한계

장점

  • 구조가 직관적이고 이해하기 쉽습니다.
  • 소규모 프로젝트에서 빠르게 개발할 수 있습니다.
  • 별도의 프론트엔드 분리 없이 화면 구현이 가능합니다.

한계

  • 화면과 서버 로직의 결합도가 높습니다.
  • 모바일 앱이나 SPA 환경과의 연동이 어렵다고 합니다.
  • 서버가 화면 생성까지 담당하여 역할이 무거워집니다.

REST API 방식과의 차이

JSP MVC2와 REST API 방식의 가장 큰 차이는 응답의 형태입니다.

구분JSP MVC2REST API
서버 응답HTML 화면데이터(JSON)
View 위치서버(JSP)클라이언트(React 등)
서버 역할화면 + 로직데이터 제공
상태 관리request / session무상태(stateless)
클라이언트 위치브라우저 중심웹, 모바일 등 외부 시스템

REST API에서는 서버가 화면을 만들지 않고,
필요한 데이터만 제공하며 화면 구성은 클라이언트가 담당합니다.


마무리

JSP MVC2는 한동안 웹 개발의 표준적인 방식이었지만,
프론트엔드 기술의 발전과 다양한 클라이언트 환경이 등장하면서
REST API 기반 구조가 점점 더 많이 사용되게 되었습니다.

다음 글에서는 REST API의 개념을 조금 더 자세히 다뤄보려고 합니다.

0개의 댓글