백엔드/Spring

Spring MVC

그기고기 2021. 7. 23. 23:28
728x90
반응형
SMALL

1. Spring MVC 란 무엇일까...?

 

Spring프레임워크에서 제공하는 웹 모듈이다.. 

MVC의 Model - View - Controller 의 약자인데, 기본 시스템 모듈을 MVC로 나누어 구현되어있다. 

여기서 그럼 각각 무엇을 담당하는지 알아보면,

Model : 데이터디자인을 담장한다, 예를들면 상품 목록, 주문 내역 같은 정보들. = 애플리케이션 정보, 데이터 처리 관리

 

View : 실제로 렌더링되어 보이는 페이지를 담당한다. 그니깐, jsp같은 파일들이 여기에 해당된다. = 사용자 인터페이스 (화면)

 

Controller : 사용자의 요청을 받고, 응답을 주는 로직을 담당한다. 그니깐 GET 등의 URI매핑이 여기에 해당한다.

= Model 과 View 간 상호동작 조정

 

2. Spring MVC Model 1 아키텍처

1. 브라우저가 요청을 하게 되면, 해당 요청을 JSP가 받게 된다. 따라서 요청만큼 JSP페이지가 존재해야 한다.

2. 이런 JSP는 Java로 만들어진 클래스인 Java Bean을 이용해서 데이터베이스를 사용하게 되고,

   이 결과를 화면에 출력하는 일을 하게 된다.

3. 이런 방식으로 처리했을 떄의 문제점은 JSP 자체에 Java코드와 HTML코드들이 섞여게 된다. 그렇다 보니깐 유지보수가 어려워진다.

 

 

3. Spring MVC Model 2 아키텍처

 

1. Model 2 아키텍처 같은 경우는 요청 자체를 서블릿이 받게하고, 서블릿이 Java Bean을 이용해 DB에서 데이터를 꺼내오고, 이런 결과들을 JSP를 통해 결과를 화면에 보여주게 된다.

2. 그림에서 서블릿은 요청과 데이터를 처리하는 컨트롤러의 역할을 수행하고, JSP는 모델의 결과를 보여주게 하는 View의 역할을 하고 있다. 이렇게 함으로써 로직과 뷰를 분리할 수 있게 된다.

 

 

 

 

4. Spring MVC의 기본 동작 흐름

 

 

요청 > 프론트 컨트롤러 > 핸들러 매핑 > 핸들러 어댑터 > 컨트롤러 > 로직 수행(서비스)

 > 컨트롤러 > 뷰 리졸버 > 응답(JSP, HTML)

 

 

출처 : https://dailyheumsi.tistory.com/159 /

https://hzoou.tistory.com/88

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=kksssii&logNo=220658615169

728x90
반응형
LIST

'백엔드 > Spring' 카테고리의 다른 글

REST API  (0) 2021.09.12
API  (0) 2021.09.12
Spring JDBC  (0) 2021.07.20
Spring 을 사용하는 이유  (0) 2021.07.19