Spring MVC - 이론편

사과농장주·2026년 3월 11일

자바스프링

목록 보기
1/8

1. 스프링 MVC

웹 계층에 서블릿(Servlet) API를 기반으로 클라이언트의 요청을 처리하는 모듈이 있는데 이를 스프링 웹 MVC(spring-web-mvc) 또는 스프링 MVC라고 한다.

  • MVC 패턴은 모델(Model), 뷰(View), 컨트롤러(Controller)로 역할을 분리하여 애플리케이션의 구조를 명확하게 하고 유지보수와 확장이 용이한 장점이 있다.
  • 스프링 프레임워크는 웹 애플리케이션을 개발할 때 MVC(Model-View-Controller) 패턴을 기반으로 애플리케이션을 구성할 수 있도록 지원한다.
  • 또한 모델(Model), 뷰(View), 컨트롤러(Controller) 간의 의존 관계를 애플리케이션 컨텍스트가 관리하여 유연한 웹 애플리케이션을 개발할 수 있다.

Model

클라이언트에게 응답으로 돌려주는 작업의 처리 결과 데이터

View

Model을 이용하여 웹 브라우저와 같은 애플리케이션의 화면에 보이는 리소스(Resource)를 제공하는 역할

Controller

클라이언트 측의 요청을 직접적으로 전달받는 엔드포인트(Endpoint)로써 Model과 View의 중간에서 상호작용을 해주는 역할

2. 스프링 MVC 요청 처리 과정

  • 디스패처 서블릿(DispatcherServlet)은 사용자의 요청을 받는 프론트 컨트롤러 서블릿이다.
    DispatcherServlet → FrameworkServlet → HttpServletBean → HttpServlet
    DispacherServlet을 사용하면 서블릿으로 등록하면서 모든 경로에 (urlPatterns=”/”)에 대해 매핑
  • 핸들 매핑(HandlerMapping)은 요청 URL을 바탕으로 적절한 컨트롤러를 선택하는 역할을 한다.
  • 컨트롤러(Controller)는 요청을 처리하기 위한 객체(Bean)이다.
  • 서비스(Service)는 비즈니스 로직을 처리하기 위한 객체(Bean)이다.
  • 저장소(Repository)는 데이터 처리를 위한 객체(Bean)이다.
  • 뷰 리졸버(ViewResolver)는 디스패처 서블릿에서 전달해 주는 뷰(View)의 이름과 실제로 구현된 뷰를 매핑해준다.
  • 뷰(View)는 요청 처리 결과를 렌더링(시각화) 한다.
profile
안녕, 나는 코딩 밭에서 사과를 줍는 사과농장주야 🍎

0개의 댓글