본문 바로가기
Develop/Spring

[Spring/MVC] MVC 프레임워크

by J-rain 2024. 3. 21.

 

프론트 컨트롤러 패턴

 

프론트 컨트롤러 도입 - v1 구조

 

View 분리 - v2 구조

모든 컨트롤러에서 뷰로 이동하는 부분에 중복이 있고, 깔끔하지 않다.

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

 

Model 추가 - v3 구조

  • 서블릿 종속성 제거 → 컨트롤러 입장에서 HttpServletRequest, HttpServletResponse 가 꼭 필요할까? 요청 파라미터 정보는 자바의 Map 으로 대신 넘기면 컨트롤러가 서블릿 기술을 몰라도 동작이 가능하다.
  • 뷰 이름 중복 제거
    • /WEB-INF/views/new-form.jsp ⇒ new-form
    • /WEB-INF/views/save-result.jsp ⇒ save-result
    • /WEB-INF/views/members.jsp ⇒ members

 

 

단순하고 실용적인 컨트롤러 - v4 구조

 

유연한 컨트롤러 - v5 구조

 

 

 

댓글