스프링 MVC 1편 (백엔드 웹 개발 핵심 기술)

Ch04. MVC 프레임워크 만들기 - View 분리(v2)

webmaster 2022. 3. 4. 12:26
728x90

v2 구조

  • 컨트롤러가 더 이상 View에 대한 코드를 고민하지 않아도 된다.

Interface 작성

MyView를 반환하는 Interface 작성

각 Controller들이 구현해야 하는 인터페이스 작성

MyView 작성

Myview 클래스

Controller 작성

MemberFormController

MemberFormController
MemberSaveController
MemberListController

  • 이제 각 컨트롤러는 복잡한 dispatcher.forward()를 직접 생성해서 호출하지 않아도 된다.
    • 순히 MyView 객체를 생성하고 거기에 뷰 이름만 넣고 반환하면 된다.
  • ControllerV1 을 구현한 클래스와 ControllerV2를 구현한 클래스를 비교해보면, 이 부분의 중복이 확실하게 제거된 것을 확인할 수 있다

FrontControllerV2 작성

FrontControllerV2

 

  • ControllerV2의 반환 타입이 MyView 이므로 프론트 컨트롤러는 컨트롤러의 호출 결과로 MyView를 반환받는다. 그리고 view.render()를 호출하면 forward 로직을 수행해서 JSP가 실행된다.
728x90