View 분리

public class MemberSaveControllerV1 implements ControllerV1 {
    private MemberRepository memberRepository = MemberRepository.getInstance();

    @Override
    public void process(HttpServletRequest request, HttpServletResponse response) {

      ...

      String viewPath = "/WEB-INF/views/save-result.jsp";
      RequestDispatcher dispatcher = request.getRequestDispatcher(viewPath);
      dispatcher.forward(request, response);
    }
}

모든 컨트롤러에서 뷰로 이동하는 부분에 중복이 있다.

구조

별도로 뷰를 처리하는 객체를 만들어보자.

따로 뷰 처리 하는 클래스를 만들어서 최상위 컨트롤러에서 이 타입을 반환하게 한다.

각 컨트롤러는 MyView 타입을 반환한다.

프론트 컨트롤러에서 생성된 뷰로 렌더한다.

Last updated

Was this helpful?