Spring MVC
: 클라이언트의 요청을 편리하게 처리해주는 프레임워크
: 우리가 만들게 될 샘플 애플리케이션은 Spring MVC가 제공해주는 기능을 이용해서 만듦
참고) Spring에서 지원하는 모든 기능을 Spring Framework라 하며, Spring의 모듈 중 '서블릿 API'를 기반으로 클라이언트의 요청을 처리하는 모듈이 Spring Web MVC라 하며, 이것을 Spring MVC라고 부름.
[MVC 의미]
MVC - Model
: 클라이언트의 요청을 전달받아 처리한 후 작업의 결과 데이터를 클라이언트에게 응답으로 돌려주는 작업의 처리 결과 데이터를 의미
* 서비스 계층 : 클라이언트의 요청 사항을 구체적으로 처리하는 영역
* 비즈니스 로직 : 요청사항을 처리하기 위해 Java 코드로 구현한 것
MVC - View
: Model 데이터를 이용해 웹브라우저 같은 클라이언트 애플리케이션의 화면에 보여지는 리소스를 제공하는 역할
View 형태
1) HTML 페이지의 출력
: 클라이언트 애플리케이션에 보여지는 HTML 페이지를 직접 렌더링해 클라이언트 측에 전송하는 방식
(HTML 태그로 구성된 페이지에 Model 데이터를 넣은 후 최종 HTML 페이지를 만들어 클라이언트 측에 전송)
>> 프론트엔드+백엔드 통합 구조
2) PDF, Exel 등의 문서 형태 출력
: Model 데이터를 가공해 PDF, Exel 문서를 만들어 클라이언트 측에 전송 (문서내에서 데이터가 동적 변경이 필요한 경우)
3) XML, JSON 등 특정 형식의 포맷으로의 변환★
: Model 데이터를 특정 프로토콜 형태로 변환해 변환된 데이터를 클라이언트 측에 전송
>> 특정 형식 데이터만 전송하고 프론트엔트 측에서 해당 데이터를 기반으로 페이지를 만드는 형식으로 영역 구분이 명확
장점)
: 영역 구분이 명확하기에 개발 및 유지보수 용이
: 프론트엔드에서 비동기 클라이언트 애플리케이션 제작이 가능
MVC - Controller
: 클라이언트 측의 요청을 직접적으로 전달 받는 엔드 포인트로써 Model과 View의 중간에서 상호 작용을 해주는 역할
(클라이언트 요청을 전달 받아서 비즈니스 로직을 거친 후 Model데이터가 만들어지면 이 Medel 데이터를 View로 전달)
Spring MVC에서 처리 흐름)
1. 클라이언트가 요청 데이터를 전송
2. Controller가 요청 데이터 수신 >> 비즈니스 로직 처리 >> Model 데이터 생성
3. Controller가 Model 데이터 전달 >> Controller가 View에게 Model 데이터 전달
4. View가 응답 데이터 생성
'공부 자료 > Spring' 카테고리의 다른 글
[Spring MVC] DTO(Data Transfer Object)/클래스 생성 (0) | 2022.10.21 |
---|---|
[Spring MVC] Spring MVC 동작 방식 & 구성 요소 (0) | 2022.10.20 |
[Spring Core] AOP - 애너테이션(Annotation) 이용 (0) | 2022.10.17 |
[Spring Core] AOP - JoinPoint (0) | 2022.10.17 |
[Spring Core] AOP - Pointcut 표현식 (0) | 2022.10.17 |