Spring Framework - Spring에서 지원하는 모든 기능들
Spring-webmvc
: Spring의 여러 웹 계층 처리 모듈 중 하나
= 클라이언트의 요청 처리 모듈, 서블릿(Servlet Api) 기반
* 서블릿?
: 클라이언트의 요청 처리하도록 특정 규약에 맞추어서 Java 코드로 작성하는 클래스 파일
*서블릿 컨테이너?
: 서블릿들이 웹 애플리케이션으로 실행이 되도록 함 (ex. 톰캣)
Spring MVC
Model
= 클라이언트에게 응답으로 돌려주는 작업의 처리 결과 데이터
View
= Model 데이터를 이용해서 클라이언트 애플리케이션 화면(ex.웹 브라우저)에 보여지는 리소스 제공
내가 앞으로 배울 View 형태 - Model 데이터를 JSON 프로토콜 데이터로 변환하는 것
* JSON 형식 : 클라이언트 애플리케이션 ~ 서버 애플리케이션 주고받는 데이터 형식
{"속성" : "값"}
Controller
= 클라이언트의 요청을 직접 받는 엔드포인트(Endpoint)
= Model, View의 중간에서 상호 작용 역할
MVC 처리 흐름
Client가 요청 데이터 전송
→ Controller가 요청 데이터 수신 → 비즈니스 로직 처리 → Model 데이터 생성
→ Controller에게 Model 데이터 전달 → Controller가 View에게 Model 데이터 전달
→ View가 응답 데이터 생성
Spring MVC 동작 방식과 구성 요소
- DispatcherServlet : 클라이언트의 요청을 제일 먼저 전달 받는다.
- DispatcherServlet은 HandlerMapping 인터페이스에게 Controller의 검색을 위임한다.
- DispatcherServlet은 검색된 Controller 정보를 토대로 HandlerAdapter 인터페이스에게 Controller 클래스내에 있는 Handler 메서드의 호출을 위임한다.
- HandlerAdapter 인터페이스는 Controller 클래스의 Handler 메서드를 호출한다.
- DispatcherServlet은 ViewResolver에게 View의 검색을 위임한다.
- DispatcherServlet은 View에게 Model 데이터를 포함한 응답 데이터 생성을 위임한다.
- DispatcherServlet은 최종 응답 데이터를 클라이언트에게 전달한다.
DispatcherServlet : 다른 구성 요소들에게 요청들을 '위임' 하는 역할
(ex. HandlerMapping아 Handler Controller 찾아줄래? ...)
Front Controller Pattern = DispatcherServlet 이 애플리케이션 가장 앞단에 배치되어
다른 구성 요소들과 상호작용하면서 클라이언트의 요청을 처리하는 패턴
* HandlerMapping, HandlerAdapter, ViewResolver 용어 설명
Spring MVC의 동작 방식 추가 설명
Handler 용어의 의미 핸들(Handle) 이라고 하면 일반적으로 자동차의 핸들을 제일 먼저 떠올릴 수 있는데, 자동차의 핸들은 운전자가 직접 핸들을 움직이면서 직접적으로 자동차의 주행을 처리하는
itvillage.tistory.com
학습할 양들이 많아지면서 머릿속에 정리가 되지 않았는데
간단히라도 정리하니까 확실히 도움이 되는 것 같다~_~
단순 복습 외에 인강이나 문제 등 더 공부하고 싶으면
저녁시간도 빠듯히 보내야겠다는 생각이 들었다.. 저녁에 밖에 잠시 다녀왔더니 시간이 모자라다🥺
'Spring' 카테고리의 다른 글
[Spring] DTO 란? (Data Transfer Object) (0) | 2022.10.21 |
---|---|
[Spring] Controller 구조 및 핸들러 메서드(Handler Method) (0) | 2022.10.21 |
[Spring] AOP가 필요한 이유, AOP 용어 / Advice, Pointcut, JointPoint (0) | 2022.10.18 |
[Spring] Java 기반 컨테이너, Component Scan, 의존 관계 주입 방법 (0) | 2022.10.18 |
[Spring] 스프링 컨테이너(Spring Container), 빈(Bean), 빈스코프(Bean Scope) 란? +싱글톤(Singleton) 스코프 (0) | 2022.10.13 |
댓글