제가 사용한 데이터 받기, 데이터 보내기 방식은 다음과 같습니다.

  1. @ModelAttribute를 사용하여 form data로 받기
  1. Model을 이용한 데이터 전송
  2. Redirect를 이용한 데이터 전송
  3. ResponseBody를 이용한 데이터 전송

이렇게 사용했습니다.

동작 원리를 설명하기 전에 이전 직접 MVC 구현해보기를 제가 이해한 것부터 설명하는 것이 순서가 맞을 거 같습니다.

  1. client의 http 요청
  2. DispatcherServlet에서 client의 요청을 server에 전달 (client와 server의 중간 전달 매개체로 생각)
  3. HandlerMapping을 통해 client 요청에 맞는 HandlerExcution을 찾아냄
  4. HandlerAdaptors에서 HandlerExcution을 지원하는 HandlerAdaptor를 찾아서 실행