스프링 MVC 이해 - Response
스프링 MVC : MVC (Model - View - Controller) 디자인 패턴
- View: 동적 HTML 파일
- Model: View 에 적용할 정보들
Server 에서 HTML 을 내려 주는 경우
① 정적 (static) 웹 페이지
- Controller
- Client 의 요청을 Model 로 받아 처리
- 예) 회원가입을 위한 개인 정보들 (id, password, name)
- Client 에게 View (정적 웹 페이지, HTML) 를 내려줌
② 동적 (dynamic) 웹 페이지
- Controller
- Client 의 요청을 Model 로 받아 처리
- Template engine 에게 View, Model 전달
- Template engine
- View 에 Model 을 적용 → 동적 웹페이지 생성 ,
- 예) 로그인 성공 시, "로그인된 사용자의 id" 를 페이지에 추가
- Template engine 종류: 타임리프 (Thymeleaf), Groovy, FreeMarker, Jade 등 (스프링에서 JSP 이용은 추천하지 않고 있음)
- Client 에게 View (동적 웹 페이지, HTML) 를 내려줌
Controller 와 HTTP Response 메시지
@Controller
@Controller 는 스프링 서버 개발자 입장에서는 시작점과 끝점으로 보이지만, 사실 스프링이 뒤에서 많은 부분을 보이지 않게 처리한다.
① Client → DispatcherServlet
- 가장 앞 단에서 요청을 받아 FrontController 라고도 불림
② DispatcherServlet → Controller
- API 를 처리해 줄 Controller 를 찾아 요청을 전달
- Handler mapping 에는 API path 와 Controller 함수가 매칭되어 있음
③ Controller → DispathcerServlet
- Controller 가 Client 으로 받은 API 요청을 처리
- 'Model' 정보와 'View' 정보를 DispatcherServlet 으로 전달
④ DispatcherServlet → Client
- ViewResolver 통해 View 에 Model 을 적용
- View 를 Client 에게 응답으로 전달
스프링 MVC 이해 - Request
< Controller 와 HTTP Request 메시지 >
자료 출처 : 스파르타 코딩클럽 - 스프링 숙련주차 강의자료
'Coding > Spring' 카테고리의 다른 글
[11] Database 와 SQL (0) | 2022.12.06 |
---|---|
[10] Spring Boot 어노테이션 정리 (0) | 2022.12.06 |
[08] 웹 동작방식 (0) | 2022.12.04 |
[07] 항해99 주특기 입문 1주차 - 주특기 시험 (API 구현) (3) | 2022.12.01 |
[06] 항해99 주특기 입문 1주차 (1-5) - 팀과제 (키워드 정리) (2) | 2022.11.30 |