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?