일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- template
- connected_component
- Heap
- 총정리
- '0'
- STL
- Critical_Path_Analysis
- Pair
- data_structure
- 백준
- 13305
- 알고리즘
- 문법
- sort
- qsort
- 자료구조
- sstream
- deletion
- 5397
- Algorithm
- c++
- red-black tree
- function_template
- singly Linked List
- Biconnected_Component
- list
- 구현
- class_template
- Articulation_Point
- 예제
- Today
- Total
- Today
- Total
- 방명록
어제의 나보다 성장한 오늘의 나
[Spring] MVC 란 무엇인가?? 본문
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는 이런 방식을 통해 작동하게 됩니다..!
'Java Spring' 카테고리의 다른 글
[Spring-boot] spring-boot 프로젝트 터미널에서 빌드하는 방법 (gradle) (0) | 2023.01.03 |
---|---|
[Spring-boot] 스프링 부트 간단한 페이지 만들기 (Welcome page , Controller) (0) | 2023.01.03 |
[Spring-Boot] Spring-boot 프로젝트 생성 / 빌드 / 실행 (1) | 2023.01.03 |