공부한것들을 정리하는 블로그 입니다.
mvc model 본문
mvc model의 이해에 시간을 투자하는것은 전혀 아깝지 않습니다..
모든 부분을 완벽히 이해하고 타인에게 설명할 수 있는 정도는 되어야 합니다.
-------------------------------------------------------------------------------------
|
| Web MVC | Web MVC 구현 | Console MVC 구현 |
M - Model | 도메인 모델 | 주로 POJO | Member.java | Member.java |
V - View | 화면-사용자 대화 담당 | 주로 JSP | NeoMember.jsp | MemberDriver.java |
C - Controller | 흐름 통제 | 주로 Servlet | NeoMemberServlet.java | MemberDriver.java |
출처: http://expert0226.tistory.com/221 [여름나라겨울이야기]
----------------------------------------------------------------------------------------------------------------------------------------------
Spring MVC는 Spring 에서 제공하는 MVC 기반의 웹 프레임워크이다.
Anyframe 의 메뉴얼에는 Spring MVC 의 특징을 아래와 같이 소개한다.
Spirng MVC 웹 프레임워크는 다음과 같은 특징을 가진다.
역할 분리가 명확하다. controller, validator, command 객체, 폼 객체, model 객체, DispatcherServlet, handler mapping, view resolver 등의 각각의 역할은 해당 역할 만을 전문으로 수행하는 객체들이 담당한다.
어플리케이션 내의 JavaBean들과 프레임워크에 관련된 설정이 쉽고 간단하다.
Business 객체를 Framework에 종속된 API를 사용하여 확장하지 않고도 command 또는 폼 객체로 재사용할 수 있다.
Application 레벨에서 데이터를 바인딩 하고 validation 에러를 체크할 수 있도록 데이터 바인딩 및 검증을 customizing 할 수 있다.
간단한 URL 기반 설정으로 다양한 handler mapping과 view resolution을 customizing 할 수 있다.
모델이 맵으로 구성되기 때문에 여러 view 기술과의 연계가 쉽다.
데이터 바인딩이나 테마 사용을 위한 spring 태그를 제공한다.
JSP의 입력 폼을 보다 쉽게 만들 수 있는 form 태그를 제공한다.
오늘의 가장 중요한 그림
위의 그림은 Spring MVC 에서 Request 를 처리하는 흐름을 나타낸 그림이다.
그 흐름을 모듈별로 본다면
- DispatcherServlet이 모든 요청을 받는다.
- HandlerMapping을 통해서 해당 요청을 처리할 Controller를 검색한다.
- Controller로 요청을 전달한다.
- Controller는 DB에서 처리된 결과(ModelAndView)를 리턴한다
- ViewResolver를 통해서 결과를 보여줄 View를 검색한다.
- View에게 응답을 출력할 것을 요청하고 View는 클라이언트에게 전송할 응답을 생성한다.
어떤가?
당신은 그림과 설명을 함께 보니 이해가 더 잘간다고 말을 하고 있다..........;;
포스팅이 끝을 향해 가고있다.
주요 구성 요소들을 설명하면서 이번 포스팅을 마칠까 한다.
-DispatcherServlet : 어플리케이션으로 들어오는 모든 Request를 받는 관문이다. Request를 실제로 처리할 Controller 에게 전달하고 그 결과값을 받아서 View에게 전달하여 적절한 응답등 생성할 수 있도록 흐름을 제어한다.
-HandlerMapping : Request URL 각각을 어떤 Controller 가 실제로 처리할 것인지 찾아주는 역할을 한다.
-Controller : Request를 직접 처리한 후 그 결과를 다시 DispatcherServlet 에게 돌려준다.
-ModelAndView : Controller가 처리한 결과와 그 결과를 보여줄 View에 관한 정보를 담고 있는 객체이다.
-ViewResolver : View 관련 정보를 갖고 실제 View를 찾아주는 역할을 한다.
-View : Controller가 처리한 결과값을 보여줄 View를 생성한다.
출처: http://10albatross.tistory.com/4 [고물라디오 같은 블로그]
'Spring > 공부' 카테고리의 다른 글
스프링 가이드 참고 사이트 모음 (0) | 2019.08.27 |
---|---|
스프링부트 애노테이션 정리, annotation 간단 요약 (자세한 내용은 검색해서 확인하고 용도 파악하기) (0) | 2018.11.10 |
스프링 인터셉터와 필터 (0) | 2017.08.12 |
토비의 스프링 3.1 (0) | 2017.05.14 |
웹 소켓 - 캐치마인드(Catch Mind) 만들기 (0) | 2017.05.14 |
유튜브 동영상을 슬라이더에 넣으려면? (0) | 2017.05.13 |
*-mapper에 있는 <ResultMap>안의 속성 (0) | 2017.05.12 |
스프링MVC에서 return type이 String 일경우. (0) | 2017.05.12 |