스프링 MVC와 포스팅 계획
Spring MVC Part I
대부분의 현대 애플리케이션은 웹 환경에서 동작하는 웹 애플리케이션입니다.
자바 백엔드 개발자는 이러한 웹 애플리케이션 개발 시 대개 스프링 MVC를 활용합니다.
스프링 MVC는 복잡한 웹 애플리케이션을 손쉽게 구현할 수 있도록 도와주는, 실무에서 널리 사용되는 자바 웹 프레임워크입니다.
그런데 자바 백엔드 웹 기술은 방대하고, 다룰 내용도 정말 많습니다.
이러한 복잡성을 이해하기 어렵게 만드는 이유를 세 가지로 정리해보겠습니다.
웹 기술 이해가 어려운 이유
1. HTTP에 대한 이해 부족
웹 기술은 모두 HTTP를 기반으로 합니다.
HTTP 이해도가 낮다면 웹 기술 전반을 깊이 있게 다루기 어렵습니다.
만약 HTTP 관련 배경 지식이 부족하다면, 이전 포스팅이나 다른 자료를 통해 HTTP 기본 지식을 먼저 정리한 뒤 이 내용을 따라오시는 것을 추천합니다.
제 블로그에 있는
HTTP - 웹 기본 지식
포스팅을 보고오시면 됩니다!
2. 자바 백엔드 웹 개발의 긴 역사
자바 백엔드 웹 기술은 오랜 역사를 가지고 있습니다.
이 과정에서 불편함을 개선하고 발전시키는 동안, 수많은 부분이 자동화되고 추상화되었습니다.
최근에 웹 개발을 시작한 사람이라면, 이러한 추상화된 기능들을 단순히 “사용법”으로만 익히게 되고, 왜 이런 구조와 기능이 생겼는지 그 역사적 맥락을 이해하기 어려울 수 있습니다.
3. 스프링 MVC의 방대한 기능
스프링 MVC는 실제 백엔드 개발에 필요한 거의 모든 기능을 제공할 만큼 강력하고 방대합니다.
수많은 기능이 추가되고 발전했지만, 스프링 MVC는 기본 구조가 매우 탄탄하게 설계되어 있어 이 구조가 크게 변하지 않았습니다.
따라서 스프링 MVC의 기본 구조를 확실히 이해하는 것이 중요합니다.
진행 방식
여기서는 20년 전으로 돌아가는 방식으로 내용이 전개됩니다.
Servlet, JSP, MVC 패턴, MVC 프레임워크, 그리고 스프링 MVC 탄생과 발전 과정을 코드로 직접 구현하며 단계적으로 살펴볼 것입니다.
전체 흐름
웹 애플리케이션 개념 이해
웹 애플리케이션이 무엇이고 어떻게 동작하는지 기본을 다룹니다.Servlet 활용 (과거 기술 경험)
서블릿을 직접 작성하며 가장 기초적인 자바 웹 기술 환경을 체험합니다.JSP 적용
JSP를 사용해보고, 서블릿보다 어떻게 편리해지는지 살펴봅니다.MVC 패턴 적용
MVC 패턴을 직접 구현해보며, 웹 애플리케이션 구조를 체계적으로 만드는 과정을 이해합니다.MVC 프레임워크 직접 만들기
스프링 없이 MVC 프레임워크의 핵심 원리를 처음부터 구현합니다.
밑바닥부터 만들며 핵심 구조를 몸으로 익힙니다.스프링 MVC 핵심 구조 분석
직접 만든 MVC 프레임워크 경험을 바탕으로 스프링 MVC 내부 구조와 원리를 깊이 파악합니다.스프링 MVC 기능 활용
핵심 구조 이해를 바탕으로 스프링 MVC가 제공하는 다양한 기능들을 살펴봅니다.실전 예제 구현
실제 웹 페이지 및 애플리케이션을 만들어보며 여기까지 다룬 내용을 종합합니다.
시리즈 구성
이 시리즈는 크게 두 가지 카테고리로 나누어집니다.
Part I: 백엔드 웹 개발 핵심 기술
여기서는 스프링 MVC의 탄생 배경과 핵심 원리를 살펴보고, Servlet, JSP, MVC 패턴, 직접 만든 MVC 프레임워크, 그리고 스프링 MVC 구조 파악까지 진행합니다.
이후 스프링 MVC 기본 기능을 통해 실제 웹 애플리케이션을 구성해보며 마무리합니다.Part II: 다양한 활용 기술
첫 번째 포스팅에서 다진 기반 위에 타임리프(템플릿 엔진), 국제화 메시지, 검증(Validation), 쿠키/세션 관리, 필터, 인터셉터, 예외 처리, 공통 기능, 확장 포인트, 기타 확장 기능 등을 예제를 확장해가며 자연스럽게 이해할 수 있도록 합니다.
기대 효과
이 포스팅(및 시리즈)을 통해 다음을 기대할 수 있습니다:
- 자바 백엔드 웹 기술 전반을 기초부터 최신 흐름까지 파악
- HTTP 기반 지식을 활용해 서블릿, JSP, MVC, 스프링 MVC 구조를 깊이 이해
- MVC 프레임워크를 직접 만들며 원리를 몸으로 체득, 단순한 사용법을 넘어선 근본적 이해
- 이후 다양한 확장 기능과 실무 활용 기술로 역량 강화