- 스프링 MVC : 스프링이 제공하는 웹 애플리케이션 개발 전용 프레임워크
-MVC 패턴 : Model - View - Controller
모델 (model) : 애플리케이션의 데이터가 들어있는 객체
뷰(view) : 모델의 정보를 특정 형식으로 나타낸다. 일반적으로 JSP와 JSTL은 뷰 페이지를 작성하는데 사용한다
컨트롤러(Controller) : 애플리케이션의 비지니스 로직을 포함한다. 여기서 @Controller 어노테이션은 자바 클래스를 컨트롤러로 표시하는데 사용한다
프론트 컨트롤로( front Controller) : 어플리케이션의 흐름을 관리한다 , 스프링MVC에서 DispatcherServlet 클래스가 프런트 컨트롤러로 작동한다.
- 스프링 MVC는 웹 브라우저에서 서버로 들어오는 모든 웹 요청을 받아 처리하고, 결과를 돌려주기까지 디스패처 서블릿의 도움을 받는다.
- 디스패처 서블릿 : 스프링의 대표적인 구성요소로서, 웹 애플리케이션으로 들어오는 모든 요청을 제어하고 모델 - 뷰 - 컨트롤러를 조합하여 웹 브라우저에 출력하는 클래스이다
- 스프링 MVC가 웹 요청을 처리하는 과정
- 웹 브라우저에서 URL을 요청하면 가장 먼저 디스패처 서블릿에 전달됨
- URL 요청을 받은 디스패처 서블릿은 어느 컨트롤러에서 요청을 처리할지 결정하려고 핸들러 매핑으로 적합한 컨트롤러를 검색
- 핸들러 매핑은 클라이언트 요청을 처리할 컨트롤러를 결정하여 디스패처 서블릿에 반환한다.
- 컨트롤러는 해당 클라이언트 요청을 전달받아 GET 또는 POST 방식을 기반으로 적합한 메서드 호출
- 호출된 메서드는 정의도니 비지니스 로직으로 모델 데이터를 설정하고 뷰 이름을 디스패처 서블릿에 반환함
- 디스패처 서블릿은 웹 브라우저에서 들어온 요청을 처리한 결과를 보여주려고 뷰 리졸버에 도움을 요청하여 응답 결과를 생성할 뷰 객체를 검색함
- 뷰 리졸버는 적절한 뷰를 결정하여 디스패처 서블릿에 뷰를 반환한다
- 디스패처 서블릿은 데이터가 담긴 모델을 뷰로 보내면 클라이언트 요청에 대한 응답 작업을 완료한다
- 뷰는 클라이언트 요청에 대한 응답작업이 완료하여 처리결과를 디스패처 서블릿에 반환한다
- 클라이언트 화면에 응답 결과를 출력한다.
'프로그래밍 이야기 > SPRING 공부' 카테고리의 다른 글
STS 톰캣에러 The server cannot be started because one or more of the ports are invalid. Open the server editor and correct the invalid ports. (0) | 2023.08.29 |
---|---|
이클립스에 STS 설치하기 (0) | 2023.08.28 |
스프링의 개요와 특징 (0) | 2023.08.14 |
스프링MVC (0) | 2023.08.13 |
스프링의의존성구조 (0) | 2023.08.13 |