MVC 패턴이 적용된 Spring Framework → Spring MVC
Spring 에서는 DispatcherServlet 클래스가 컨트롤러 역할을 수행한다.
Spring MVC의 주요 구성요소
Spring MVC 실행 흐름
사용자 요청 -> DispatcherServlet.
DispatcherServlet → HandlerMapping 에 주소 분석 요청.
DispathcerServlet → 특정 Controller 객체 호출 및 결과 수신.
결과는 ModelAndView 객체.
※ ModelAndView 객체
: View 객체 정보와 결과값이 들어있는 객체.
DispatcherServlet → ViewResolver 에 View 객체 분석 요청.
DispatcherServlet → 특정 View 객체에 Model 객체를 넘겨주고
결과 출력.
Spring MVC 에서 우리가 해야 할 일
Controller (사용자 정의 컨트롤러)
액션 처리를 담당하는 Controller 클래스 작성.
Annotation 을 사용하거나 Controller 인터페이스를 구현하여 작성.
View
결과 출력용 JSP 페이지 작성.
web.xml
서블릿 주소와 DispatcherServlet 클래스 등록.
dispatcher-servlet.xml (dispatcher-servlet 이라는 정해진 이름 써야함!)
우리가 작성한 Controller 객체 등록.
URL 매핑 주소 등록.
※ Spring 이 스트럿츠를 비롯하여 다양한 웹 프레임워크와
비교적 연동이 잘 되는 편이기는 하지만
서로 다른 두 프레임워크를 연동하기 위해서는
설정의 중복 등 개발 과정에서 불편함이 존재할 수 밖에 없다.
따라서, Spring 이 자체적으로 제공하는 MVC 프레임워크를 사용하게 되면
Spring 이 제공하는 AOP, 트랜잭션 처리, IoC/DI 등의 기능을
그대로 사용하면서 MVC 패천에 기반하여 웹 어플리케이션을 개발할 수 있다.
또한, 다른 프레임워크와 Spring 을 연동하기 위해서
설정을 중복해서 적용해야 한다던지... 하는 개발 과정에서 나타나는
불편을 해소할 수 있게 된다.