본문 바로가기

SpringMVC2

[SpringMVC] 스프링 MVC의 구조를 이해해보자 (2/3) V2: JSP 포워드 중복 제거 이전 포스팅에서 단순히 프론트 컨트롤러만 도입한 V1 을 만들어봤다. 이때는 단순히 프론트 컨트롤러를 도입하는 것에 의의를 두고 딱히 설계상 진보된 점은 없었다. 이번에는 V1에서 조금 더 진보된 형태인 V2를 만들어본다. 이번에는 V1에 화면을 그리는 책임을 가지는 오브젝트인 View를 도입해서 JSP를 포워드하는 코드의 중복을 없애보도록 하겠다. 아래의 코드 말이다. RequestDispatcher requestDispatcher = request.getRequestDispatcher(viewPath); requestDispatcher.forward(request, response); V2의 구조는 아래와 같다 이번에는 Controller가 View를 반환하는데, Co.. 2021. 7. 9.
[SpringMVC] 스프링 MVC의 구조를 이해해보자 (1/3) 애너테이션 기반의 스프링 MVC는 정말 편리하다. 얼마나 편리하나면 그 구조를 모르고 사용할때는 마치 마법처럼 느껴질 정도이다… 나는 그냥 문자열만 반환했는데 어떻게 뷰를 찾는건지, 나는 그냥 객체를 반환했는데 어떻게 Json으로 변환해서 HTTP 메시지 바디에 값을 입력하는지… 또 어떻게 컨트롤러의 파라미터에 맞춰서 필요한 컨트롤러를 동작시키는지… 이 과정이 어떻게 일어나는지 정확히 알려면 RequestMappingHandlerAdapter와 HttpMessageConverter, ArgumentResolver의 동작 방식과 구조를 알아야한다. 김영한님의 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 강의를 들으면서 스프링이 어떤 구조로 이런 다양한 변화에 맞게 컨트롤러를 호출하고 뷰를 반환하는지 .. 2021. 7. 9.