본문 바로가기
웹 개발/Java Spring

MVC와 템플릿 엔진

by 동배_ 2021. 8. 2.

MVC : Model, View, Controller

https://developer.mozilla.org/ko/docs/Glossary/MVC

MVC - 용어 사전 | MDN

MVC (모델-뷰-컨트롤러) 는 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴입니다. 소프트웨어의 비즈니스 로직과 화면을 구분하는데 중점을 두고 있습니다. 이러한 "관심사 분리" 는 더나은 업무의 분리와 향상된 관리를 제공합니다. MVC 에 기반을 둔 몇 가지 다른 디자인 패턴으로 MVVM (모델-뷰-뷰모델), MVP (모델-뷰-프리젠터), MVW (모델-뷰-왓에버) 가 있습니다.

developer.mozilla.org

이 것을 참고하자면 MVC(모델-뷰-컨트롤러)는 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 "디자인 패턴"이다.

사실 정보처리기사를 따면서 디자인 패턴에 대해 겉핥기 식으로 알았는데 싱글톤, MVC등 자바를 공부하다 보니 더 상세히 이게 이랬구나를 아는 것 같다.

그래서 다음과 같이 설명하자면

Model : 데이터와 비지니스 로직을 관리한다.

View : 레이아웃과 화면을 처리한다

Controller: 명령을 모델과 뷰 부분으로 라우팅한다.

인프런의 김영한님의 강의에서 다시 요약하자면

뷰: 화면을 그리는데 모든 역량을 집중해야함

컨트롤,모델 : 비지니스 로직 ( 내부적인걸 처리하는데 집중) 해야한다. 라고 이해한다.

주소로 통한 hello-mvc를 서버에 넘기면 서버는 인지후 스프링에게 넘겨준다-> 스프링은 helloController에 저 메소드가 맵핑이 돼있는 것을 확인하면 그 메소드를 호출해준다. -> 그리고 viewResolver가 hello-template.html 과 똑같은 것을 찾아서 템플릿 엔진이 렌더링을 해 변환을 한 HTML을 웹브라우저에 반영한다.

<View> 부분 동적 웹페이지다

<Controller> <Model> 부분이다.

사실 유튜브에서 MVC MVC 찾아봤었는데 이해가 정확히 되지 않았는데 이제 확실이 이해 됐다.

댓글