티스토리 뷰

웹/부스트코스

[Spring]Spring MVC

cll179 2018. 8. 2. 17:58

MVC

- Model, View, Controller의 약자

 

Model : 모델은 뷰가 렌더링하는데 필요한 데이터이다. 예를 들어 사용자가 요청한 상품 목록이나, 주문 내역이 이에 해당한다.

View : 웹 애플리케이션에서 뷰(View)는 실제로 보이는 부분이며, 모델을 사용해 렌더링한다. 뷰는 JSP, JSF, PDF, XML 등으로 결과를 표현한다.

Controller : 컨트롤러는 사용자의 액션에 응답하는 컴포넌트다. 컨트롤러는 모델을 업데이트하고, 다른 액션을 수행한다.

 

 

 

MVC Model2 발전형태

 

 

- 스프링MVC Model 2 에서 발전된 형태의 모듈을 가지고 있다.

 

 

Spring MVC 기본 동작 흐름

- 숫자 순으로 따라가면 된다.

 

① 클라이언트가 보낸 모든 요청Dispatcher Servlet이라는 서블릿 클래스가 받는다.

Dispatcher Servlet은 요청을 처리해줄 컨트롤러와 메서드가 무엇인지 Handler Mapping에게 물어본다.

- 어떤 요청에 어떤 컨트롤러가 동작할지를 개발자가 xml파일이나 java파일에 어노테이션으로 설정해놓는다.

Handler Adapter 에게 앞에서 결정된 컨트롤러와 메서드가 실행 요청

Handler Adapter  앞에서 결정된 컨트롤러와 메서드가 실행한다.

실행결과를 Model에 받아서 Dispatcher Servlet에게 전달한다. (view name : 컨트롤러가 리턴한..)

⑥⑦ 컨트롤러가 리턴한 view name을 가지고 적절한 View Resolver를 통해서 뷰를 출력하게 된다.

 

Dispatcher Servlet

- 프론트 컨트롤러(Front Controller)

- Spring MVC를 이해한다는 것은 DispatcherServlet이 어떻게 동작하는 지를 이해하는 것이라고 말할 수 있다.

- 요청을 받아서 넘겨주는 것 까지만 일을 한다.

- 모든 요청을 받은 후 이를 처리할 핸들러에게 넘기고 핸들러가 처리한 결과를 받아 사용자에게 응답 결과를 보여준다.

- 일반적으로 하나만 선언해서 사용하고, 여러 컴포넌트를 이용해 작업을 처리한다.

 

 

참고 사이트 : http://www.edwith.org/



본 게시물은 개인적인 용도로 작성된 게시물입니다. 이후 포트폴리오로 사용될 정리 자료이니 불펌과 무단도용은 하지 말아주시고 개인 공부 목적으로만 이용해주시기 바랍니다.

댓글