💡MVC 구조 정리
MVC 구조
📘 Spring MVC 패턴 정리
MVC 패턴 사용 이유
- Servlet 과 JSP 로만 작업을 하기에는 로직 분리가 힘들어 유지보수가 어렵다는 문제가 있었다
- 그래서 Model, View, Controller 영역으로 로직을 분리하여 처리하는 방식이 생겼다.
- 핵심은 View 와 비지니스 로직의 완전한 분리이다.

MVC 구조 순서
- Client 로 부터 요청(Request)을 DispatcherServlet 을 통해 받는다.
- HandlerMapping 은 어떤 Controller 가 URL를 처리할지 결정한다.
- Controller 호출한다.
@RequestParam, @RequestBody 등 로직 수행.
- Controller 에서 View 이름과 Model 데이터를 반환한다.
- View 이름과 실제 View (JSP, Thymeleaf, FreeMarder 등) 객체로 매핑한다.
- Model 데이터를 HTML/CSS/JS 로 렌더링한다.
- Client 에게 응답(Response)한다.
MVC 패턴의 장점
- URL 매핑, 비즈니스 로직, 뷰 렌더링이 명확히 분리할 수 있다.
- 인터셉터,
argument/return handler, view resolver 등으로 자유롭게 확장이 가능하다.
@WebMvcTest 등을 통해 Controller 단위 테스트가 쉽다.
- JSP, Thymeleaf, FreeMarker, JSON, XML 등 여러 뷰 구현체를 사용 가능하다.