스프링 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

  1. 가장 앞 단에서 요청을 받아 FrontController 라고도 불림

② DispatcherServlet → Controller

  • API 를 처리해 줄 Controller 를 찾아 요청을 전달
  • Handler mapping 에는 API path 와 Controller 함수가 매칭되어 있음

③ Controller → DispathcerServlet

  1. Controller 가 Client 으로 받은 API 요청을 처리
  2. 'Model' 정보와 'View' 정보를 DispatcherServlet 으로 전달

④ DispatcherServlet → Client

  1. ViewResolver 통해 View 에 Model 을 적용
  2. View 를 Client 에게 응답으로 전달

 

스프링 MVC 이해 - Request

< Controller 와 HTTP Request 메시지 >

 


자료 출처 : 스파르타 코딩클럽 - 스프링 숙련주차 강의자료

+ Recent posts