어제의 나보다 성장한 오늘의 나

[Spring] MVC 란 무엇인가?? 본문

Java Spring

[Spring] MVC 란 무엇인가??

today_me 2022. 12. 20. 19:07
반응형

 

 

Spring은 Java 기반 프레임워크로 엄청 유명하기 때문에 다들 한번씩 들어보셨을 겁니다.

이 프레임워크는 어떤 식으로 구성이 되어 있을 까요??

 

오늘은 Spring framework의 Web architecture인 MVC Architecture에 대해서 공부해 볼 것입니다. 

 

 


 

오늘날의 Web architecture에 대해 공부하기 전에 과거의 web architecture에 대해 공부해 봅시다.

.

.

과거에는 어떤 Web architecture를 썼을까요??

그리고 왜 지금 MVC를 사용 하는 걸까요??

 

 

과거 Web architecture의 모습 : JSP Model1 Architecture

 

- 1990 ~ 2000년 초 까지의 웹 개발 아키텍쳐이다.

- JSP와 Java Bean으로 구성되어 있다.

JSP는 [Controller 와 View를 포함] 하고 Java Bean은 [Model 부분]을 담당한다.

- Controller와 View가 통합되어 있기 때문에 유지 보수에 어려움이 생긴다.

 

 

이 어려움을 극복하여 새로 나타나게 된 것이 오늘 날의 JSP Model2 Architecture 입니다.

다른말로 MVC Architecture 라고 부릅니다.

 

 

M( Model )

V( View )

C ( Controller ) Architecture는 Model , View , Controller로 분리되어 있어서

유지 보수에 있어 유리하다.

 

Spring Framework도 MVC 패턴을 통해 작업이 이루어진다.

 


 

 

Web architecture  : MVC

 

MVC는 Model , View , Controller의 약자입니다.

Spring은 MVC가 각각 독립적으로 나누어져 구성 되어 있습니다.

하나씩 들여다 봅시다. 

 

Model : DB와 직접 상호 작용하는 부분이다. 

-       DB에서 데이터를 가지고 와서 데이터를 처리한다. 

-       DB를 다루는 쿼리도 이 부분에 해당한다.

-       자바 개발자가 담당한다.

 

View : 사용자에게 보여줄 UI ( User Interface ) 이다.

-       JSP Page로 구성되어 있다.

-       View는 보통 웹 디자이너들이 담당한다.

 

Controller : 전체적인 화면의 로직을 처리한다.

-       사용자 입력 데이터 추출

-       Model class의 DB 연동 함수 호출

-       화면 이동

-       자바 개발자 or framework가 담당한다.

 

 

MVC의 상호작용 과정

 

1.     사용자 (클라이언트)가 웹 서버에 Request를 보낸다.

2.     웹 서버가 요청을 전달해 준다.

3.     요청을 전달 받아 Controller가 요청에 맞게 Model을 이용하여 DB에서 적절한 데이터 처리를 한다.

4.     그리고 처리 된 데이터를 View에 전달해 주면 View는 알맞은 웹 페이지를 웹 서버로 보내 준다.

5.     웹 서버가 사용자에게 Response를 보낸다.

 

MVC는 이런 방식을 통해 작동하게 됩니다..!

반응형
Comments