15) 스프링 MVC 프로세스
* 스프링 MVC 프로세스 모델
* 스프링 MVC의 주요 구성 요소
1) DispatcherServlet : 클라이언트의 요청을 전달 받는 역할. 컨트롤러(Controller)에게 클라이언트의 요청을 전달하고, 컨트롤러가 리턴한 결과 값을 뷰(View)에 전달하여 알맞은 응답을 생성하도록 함. (스프링 제공)
2) HandlerMapping : 클라이언트의 요청 URL을 어떤 컨트롤러가 처리할지를 결정. (스프링 제공)
3) Controller : 클라이언트의 요청을 처리한 뒤, 그 결과를 DispatcherServle에 알려준다. (실제 로직을 담당)
4) SQL 쿼리를 통한 데이터 질의문 전달.
5) 데이터베이스가 반환(Return)한 데이터 획득.
6) ModelAndView : 컨트롤러가 처리한 결과 정보 및 뷰 선택에 필요한 정보를 담음.
7) ViewResolver : 컨트롤러의 처리 결과를 생성할 뷰를 결정. (스프링 제공)
8) View : 컨트롤러의 처리 결과 화면을 생성 (Freemarker 등)
* 스프링 MVC 구조 및 처리 순서
1) 클라이언트의 요청이 DispatcherServlet에 전달됨.
2) DispatcherServlet은 HandleMapping을 사용하여 클라이언트의 요청을 처리할 컨트롤러(Controller)를 검색.
3) 매치되는 컨트롤러가 있다면 요청을 해당 컨트롤러에게 전달.
DispatcherServlet은 컨트롤러 객체의 handleRequest() 메서드를 호출하여 클라이언트 요청을 처리 .
4) DB 관련 처리 (DB 질의 요청)
5) DB 관련 처리 (DB 질의 결과)
6) 컨트롤러의 handlerRequest()메서드는 처리 결과 정보를 담은 ModelAndView 객체를 리턴.
7) DispatcherServlet은 ViewResolver로부터 응답 결과를 생성할 뷰 객체를 구함.
JSP, Velocity, Freemarker 등 다양한 뷰를 지원.
- AbstractCachingViewResolver
- XmlViewResolver
- ResourceBundleViewResolver
- UrlBasedViewResolver
- InternalResourceViewResolver
- FreeMakerViewResolver
- ViewResolvers Chaining
8) 뷰는 클라이언트에 전송할 응답을 생성.
이것으로 스프링 프레임워크의 기본 개념 강좌를 마칩니다. 읽어주셔서 감사합니다^^
- 참고 문헌 및 사이트 -
* 토비의 스프링 3.1 (이일민)
* Spring in Action 제3판 (크레이그 월즈)
* 스프링3 입문 (하세가와 유이치, 오오노 와타루, 토키 코헤이)
* New Lecture – Spring 3 MVC 웹 프로그래밍 (newlecture.com)
* 위키피디아 (wikipedia.org) – Spring, Patterns
'개발&컴퓨터 > 개발강좌' 카테고리의 다른 글
이클립스 기초 실습 - Tomcat 설치하기 (2) (2) | 2015.05.31 |
---|---|
이클립스 기초 실습 - 이클립스 설치하기 (Eclipse Luna 버전) (1) (0) | 2015.05.01 |
스프링 프레임워크 기본 강좌 (14) - AOP with Annotation (1) | 2015.04.29 |
스프링 프레임워크 기본 강좌 (13) - 스프링MVC (AOP with XML) (0) | 2015.04.27 |
스프링 프레임워크 기본 강좌 (12) - 스프링MVC (고전적인 JSP 코딩) (0) | 2015.04.26 |