개발 알다가도 모르겠네요

MVC를 간단하게 알아보자 본문

웹/Spring

MVC를 간단하게 알아보자

이재빵 2021. 11. 2. 19:03
728x90

클라이언트로부터 요청이 들어오면 Controller가 요청을 받게 된다.

service -> DAO 호출 후, 그 결과를 Model에 저장하게 된다.

Model을 View에 전달하게 되고 View는 Model를 렌더링해 동적인 페이지로 클라이언트의 요청에 응답하게 된다.

 

Disptacher Servlet은 요청을 어떤 controller가 처리해야할지 알려줌

 

 

Model 

•애플리케이션 데이터를 캡슐화하며 일반적으로 POJO로 구성됩니다.

 View 

•모델 데이터 렌더링을 담당하고 일반적으로 HTML 출력을 생성합니다.

Controller 

•사용자 요청을 처리하고 적절한 모델을 구축하고 렌더링을 위해 뷰에 전달합니다.

 

 

Dispatcher servlet

–프론트 컨트롤러 역할
– 애플리케이션에 들어오는 모든 요청을 가로채서 핸들러(즉, 컨트롤러)에 요청을 전달합니다.
– 요청을 처리하기 위해 호출할 컨트롤러에 대한 핸들러 매핑을 참조합니다.

 

Handler Mapping

특정 요청을 처리하는 적절한 컨트롤러를 찾는 책임
– 요청 URL과 컨트롤러 클래스 간의 매핑은 XML 구성 또는 주석을 통해 수행됩니다.

 

 

 

 

 

Controller

다른 비즈니스/서비스 클래스를 호출하여 요청을 처리할 책임이 있습니다.
– 출력은 뷰로 보내질 모델 객체에 첨부될 수 있습니다.

 

View Resolver

–논리적 이름에서 물리적 뷰 파일을 찾습니다.

 

View

–JSP, HTML, XML, Velocity 템플릿 등이 될 수 있는 물리적 보기 파일

 

 

 

 

DispatcherServlet

– Spring Container(WebApplicationContext)를 인스턴스화합니다.
– 모든 DI 컨테이너와 마찬가지로 WebApplicationContext에는 일부 구성 메타데이터가 제공되어야 합니다.

-스프링컨테이너를 가지고 있어서 자체적으로 빈 관리

 

-컨테이너에는 Controller와 같은 request 처리하는 빈이 들어감.

 

 

 

 

 

ContextLoadListener

– 공유 빈을 포함하는 스프링 컨테이너 인스턴스화
– DispatcherServlet에 의해 생성된 Bean은 ContextLoaderListener에 의해 생성된 Bean을 참조할 수 있습니다.

 

컨테이너에는 공유되는 빈들이 들어감

 

 

 

Model

-모델에는 결과의 일부가 포함됩니다.
-컨트롤러에서 뷰로 개체를 전달하는 데 사용됩니다.
-명명된 개체의 컬렉션.