-
[Spring] 01-2. Spring MVC를 이용한 WEB 요청 처리프로그래밍/Spring 2015. 9. 9. 23:03반응형
Spring MVC를 이용한 WEB 요청 처리
Spring 프레임워크는 DI나 AOP와 같은 기능뿐만 아니라 웹개발을 위한 MVC 프레임워크도 함께 제공한다.
Spring MVC의 주요 구성 요소 및 처리 흐름
다른 MVC 기반의 Framework와 마찬가지로 SPRING MVC도 컨트롤러를 사용하여 클라이언트의 요청을 처리하게 된다.
SPRING에서 DispatcherServlet이 MVC에서 C(Controller) 부분을 처리하는데, DispacherServlet을 비롯한 MVC의 주요 구성 요소는 다음과 같다.
DispacherServlet : 클라이언트의 요청을 전달 받는다. 컨트롤러에게 클라이언트의 요청을 전달하고, 컨트롤러가 리턴한 결과 값을 View에 전달하여 알맞은 응답을 생성하도록 한다.
HandlerMapping : 클라이언트의 요청 URL을 어떤 컨트롤러가 처리할 지를 결정한다.
Controller : 클라이언트의 요청을 처리한 뒤, 그 결과를 DispatcherServlet에 알려 준다. Struts의 Action과 동일한 역할을 수행한다.
ModelAndView : 컨트롤러가 처리한 결과 정보 및 뷰 선택에 필요한 정보를 담는다.
ViewResolver : 컨트롤러의 처리 결과를 생성할 뷰를 결정한다.
View : 컨트롤러의 처리 결과 화면을 생성한다. JSP나 Velocity 템플릿 파일 등을 뷰로 사용한다.
각 구성 요소의 메세지 흐름 : 클라이언트 → DispacherServlet(처리요청) → Controller (요청URL과 Mapping되는 Controller검색) → ModelAndView 리턴 → Controller의 실행 결과를 보여줄 View 검색 (View) → 응답 출력 요청(ViewResolver)
Spring MVC의 클라이언트 요청 처리 과정
- 클라이언트의 요청이 DispacherServlet에 전달된다.
- DispatcherServlet은HandlerMapping을 사용하여 클라이언트의 요청을 처리할 컨트롤러 객체를 구한다.
- DispatcherServlet은 컨트롤러 객체를 이용해서 클라이언트의 요청을 처리한다.
- 컨트롤러는 클라이언트의 요청 처리 결과 정보를 담은 ModelAndView 객체를 리턴한다.
- DispatcherServlet은 ViewResolver로부터 응답 결과를 생성할 뷰 객체를 구한다.
- 뷰는 클라이언트에 전송할 응답을 생성한다.
이 과정에서 개발자가 직접해야 개발해야 할 부분은 클라이언트의 요청을 처리할 컨트롤러와 클라이언트에 응답 결과 화면을 전송할 JSP나 Velocity 템플릿 등의 뷰 Code이다. 나머지, DispatcherServlet이나 HandlerMapping, ViewResolver 등은 SPRING이 기본적으로 제공하는 구현 Class를 사용하게 된다.
Spring MVC를 사용하기 전에 가장 먼저 해야할 작업
- web.xml파일에 두가지 정보를 추가
- 클라이언트의 요청을 전달받을 DispatcherServlet 설정
- 공통으로 사용할 어플리케이션 컨텍스트 설정
반응형'프로그래밍 > Spring' 카테고리의 다른 글
[Spring] 01-5. 컨트롤러 구현 및 설정 추가 (0) 2015.09.11 [Spring] 스프링을 시작하며 필요한 라이브러리 파일들 (0) 2015.09.10 [Spring] 01-4. DispatcherServlet 설정 및 SPRING 컨텍스트 설정 (0) 2015.09.10 [Spring] 01-3 Spring에서의 인코딩 처리를 위한 필터 설정 (0) 2015.09.09 [Spring] 01-1. Spring Framework란? (0) 2015.09.07