프론트 컨트롤러 패턴

기존 코드를 최대한 유지하는 프론트 컨트롤러를 도입해본다.

public interface ControllerV1 {
    void process(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException;
}

서블릿과 비슷한 모양의 컨트롤러 인터페이스를 만든다.

인터페이스로 정의한 이유는 회원을 저장하고, 리스트를 조회하는 등 다양한 컨트롤러를 구현과 관계없이 일관성 있게 불러올 수 있기 때문이다.

인터페이스를 구현하는 컨트롤러를 만들고 기존 서블릿 로직을 그대로 복붙한다.

만약 localhost:8080/front-controller/v1/members/new-form을 호출했다면 일단 FrontControllerServletV1.service()를 거친다. requestURI에는 /front-controller/v1/members/new-form가 들어가고 이 키를 가지고 MemberFormControllerV1이 호출된다.

Last updated

Was this helpful?