Web/SrpingBoot

[Spring] MVC 패턴과 MVC1, MVC2 및 Spring Framework에서의 MVC2 정리

나는나는용 2023. 8. 5. 14:21
728x90

MVC 패턴

소프트웨어 디자인 패턴 중 하나.

M : Model : 어플리케이션 정보·데이터·DB 등

V : View : 사용자에게 보여지는 화면( UI ), 모델로부터 정보를 얻고 표시함.

C : Controller : 데이터와 비즈니스 로직 사이의 상호 동작을 관리함 (▶ 모델과 뷰 통제 : MVC패턴에서 View와 Model이 직접적인 상호 소통하지 않도록 관리함)

 

MVC 1

View와 Controller 모두 JSP가 담당 ▶ JSP 하나로 유저 요청 받고 응답(구현 쉬움)

 

JSP 하나에서 MVC가 모두 이뤄지다보니 재사용성이 매우 떨어져 유지·보수 문제가 발생하며, 가독성이 나쁨.

MVC 2

표준으로 사용됨.

요청을 하나의 컨트롤러(Servlet)가 먼저 받음 → View와 Controller의 분리 ▶ MVC 1의 단점을 보완함.

 

M, V, C 중에서 수정이 필요한 부분만 꺼내 수정할 수 있음.

 

구조가 복잡할 수 있으나, 이런 세부적인 것들에 신경쓰지 않아도 되게 프레임워크가 발전해왔음.

그 중 하나가 Spring Framework !!

 

Spring Framework 의 MVC 2

https://chanhuiseok.github.io/posts/spring-3/

Dispatch Servlet (Front Controller)

우선적으로 유저의 모든 요청을 받고, 그 요청을 분석하여 세부 컨트롤러들에게 필요한 작업을 나눠줌.

 

728x90