Spring MVC 1편 MVC 프레임워크 프론트 컨트롤러 개발 v1

신재원·2023년 1월 21일
0

Spring MVC 1편

목록 보기
18/35

FrontController 패턴 특징

  • FrontController 서블릿 하나로 클라이언트의 요청을 받음
  • FrontController가 요청에 맞는 컨트롤러를 찾아서 호출
  • !! 중요 입구를 하나로
  • 공통 처리 기능
  • FrontController를 제외한 나머지 컨트롤러는 서블릿을 사용하지 않아도 된다.
  • FrontController (문지기)를 도입해 공통되는 로직을 모으고, Controller A, B, C 각자 처리하게 한다.

private Map<String, ControllerV1> controllerMap = new HashMap<>();

    public FrontControllerServletV1() {
        controllerMap.put("/front-controller/v1/members/new-form", new MemberFormControllerV1());
        controllerMap.put("/front-controller/v1/members/save", new MemberSaveControllerV1());
        controllerMap.put("/front-controller/v1/members", new MemberListControllerV1());
    }
  • Map에 담아 URI정보에 따라 Controller를 매핑해준다 (다형성)

정리

  • 스프링 웹 MVC와 프론트 컨트롤러
  • 스프링 웹 MVC의 DispatcherServlet이 FrontController 패턴으로 구현되어있다.

0개의 댓글