Spring Web MVC framework는 model-view-controlelr의 구조를 제공한다. 또한, 유연하고 느슨하게 결합된 web applications을 개발하기 위해 준비된 컴포넌트들을 제공한다.
MVC 패턴은 이러한 요소 간의 느슨한 결합을 제공하면서, application의 서로 다른 측면 (input logic, business logic, and UI logic)으로 분리를 초래한다.
Model : application data를 캡슐화 하고 일반적으로 POJO로 구성되어 있다.
View : Model data를 렌더링하고, 일반적으로는 클라이언트의 브라우저가 해석할 수 있는 HTML을 생성한다.
Controller : 적절한 Model을 통해 사용자의 요청을 처리하고 뷰에 결과를 전달한다.
Spring MVC framework는 모든 HTTP 요청 및 응답을 처리하는 DispatcherServlet을 중심으로 설계된다.
(HttpRequest의 요청)최초 진입은 DispatcherServlet이 담당한다.
Handler Mapping을 통해 Controller를 찾음
Controller에 의해 Service실행
Service 실행 후 ModelAndView 인스턴스 반환
ViewResolver 참조하여 실질적인 View 생성
Spring Web MVC를 사용하기 위해 config는 아래와 같은 방법으로 할 수 있다.
2.annotation을 이용해 java based의 설정을 할 수 있다.(servlet 3.0이상 가능)