MVC

이강민·2024년 9월 8일
0

커널360

목록 보기
49/56
post-thumbnail

MVC란?

  • MVC(Model-View-Controller)는 웹 애플리케이션 개발에서 사용되는 아키텍처 패턴으로, 비즈니스 로직과 프레젠테이션 로직을 분리하여 코드의 재사용성과 유지보수성을 높입니다.

각 컴포넌트의 역할:
Model (모델):
애플리케이션의 데이터와 비즈니스 로직을 담당합니다.
데이터베이스와 상호작용하거나, 데이터를 가공하여 컨트롤러와 뷰에 전달합니다.
View (뷰):
사용자에게 보여지는 화면을 담당합니다. 즉, UI 요소들을 정의하고 모델로부터 전달받은 데이터를 표시합니다.
HTML, JSP, Thymeleaf 등이 뷰의 역할을 합니다.
Controller (컨트롤러):
사용자의 요청을 받아서 처리하고, 적절한 모델을 사용해 데이터를 조회한 후, 그 결과를 뷰에 전달하는 역할을 합니다.
서블릿이 컨트롤러 역할을 하는 경우가 많습니다.

MVC 흐름

  • Request
    • 클라이언트가 HTTP 방식으로 요청
  • DispatcherServlet
    • DispatcherServlet은 클라이언트의 HTTP 요청을 받아서 이를 적절한 컨트롤러(핸들러)에 전달하고, 처리 결과를 적절한 뷰(View)로 변환하여 클라이언트에게 응답하는 역할
  • HandlerMapping
    • DispatcherServlet이 전달한 클라이언트의 요청을 처리할 적절한 컨트롤러(핸들러)를 찾아 매핑해주는 역할
  • Controller
    • Controller는 클라이언트의 요청을 받아서 필요한 비즈니스 로직을 처리하고, Model에 데이터를 담아, 논리적인 뷰 이름(View Name)을 반환
      (Model and logical view name)
  • ViewResolver
    • ViewResolver는 논리적인 뷰 이름(View Name)을 실제 뷰 파일 경로로 변환하여 해당 뷰를 렌더링할 수 있는 객체로 반환하는 역할
  • view
    • JSP, HTML 파일로 브라우저를 통해 렌더링되며, Model 데이터를 사용하여 클라이언트에게 화면을 출력
  • Response
    • esponse는 최종적으로 클라이언트에게 렌더링된 View와 함께 응답 코드(HTTP Status Code)를 포함하여 반환
profile
AllTimeDevelop

0개의 댓글

관련 채용 정보