본문 바로가기

개발&컴퓨터/개발강좌

스프링 프레임워크 기본 강좌 (15) - 스프링 MVC 프로세스 (마지막)

반응형

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

 

 

 

 

반응형