Coding/Spring
[09] 스프링 MVC 이해
탑팀
2022. 12. 4. 02:37
스프링 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 메시지 >
자료 출처 : 스파르타 코딩클럽 - 스프링 숙련주차 강의자료