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