프로그래밍 이야기/SPRING 공부

스프링 MVC 정의와 구성요소 웹요청 처리과정

글쓰는 개발자 김뉴네 2023. 8. 21. 10:17
728x90
반응형

- 스프링 MVC : 스프링이 제공하는 웹 애플리케이션 개발 전용 프레임워크

-MVC 패턴 : Model - View - Controller

스프링MVC 모델

모델 (model) : 애플리케이션의 데이터가 들어있는 객체

뷰(view) : 모델의 정보를 특정 형식으로 나타낸다. 일반적으로 JSP와 JSTL은 뷰 페이지를 작성하는데 사용한다

컨트롤러(Controller) : 애플리케이션의 비지니스 로직을 포함한다. 여기서 @Controller 어노테이션은 자바 클래스를 컨트롤러로 표시하는데 사용한다

프론트 컨트롤로( front Controller) : 어플리케이션의 흐름을 관리한다 , 스프링MVC에서 DispatcherServlet 클래스가 프런트 컨트롤러로 작동한다.

 

 


- 스프링 MVC는 웹 브라우저에서 서버로 들어오는 모든 웹 요청을 받아 처리하고, 결과를 돌려주기까지 디스패처 서블릿의 도움을 받는다.

- 디스패처 서블릿 : 스프링의 대표적인 구성요소로서, 웹 애플리케이션으로 들어오는 모든 요청을 제어하고 모델 - 뷰 - 컨트롤러를 조합하여 웹 브라우저에 출력하는 클래스이다

 

스프링MVC 구성요소


- 스프링 MVC가 웹 요청을 처리하는 과정

스프링 MVC가 웹 요청을 처리하는 과정

- 웹 브라우저에서 URL을 요청하면 가장 먼저 디스패처 서블릿에 전달됨

- URL 요청을 받은 디스패처 서블릿은 어느 컨트롤러에서 요청을 처리할지 결정하려고 핸들러 매핑으로 적합한 컨트롤러를 검색

- 핸들러 매핑은 클라이언트 요청을 처리할 컨트롤러를 결정하여 디스패처 서블릿에 반환한다.

- 컨트롤러는 해당 클라이언트 요청을 전달받아 GET 또는 POST 방식을 기반으로 적합한 메서드 호출

- 호출된 메서드는 정의도니 비지니스 로직으로 모델 데이터를 설정하고 뷰 이름을 디스패처 서블릿에 반환함

- 디스패처 서블릿은 웹 브라우저에서 들어온 요청을 처리한 결과를 보여주려고 뷰 리졸버에 도움을 요청하여 응답 결과를  생성할 뷰 객체를 검색함

- 뷰 리졸버는 적절한 뷰를 결정하여 디스패처 서블릿에 뷰를 반환한다

- 디스패처 서블릿은 데이터가 담긴 모델을 뷰로 보내면 클라이언트 요청에 대한 응답 작업을 완료한다

- 뷰는 클라이언트 요청에 대한 응답작업이 완료하여 처리결과를 디스패처 서블릿에 반환한다

- 클라이언트 화면에 응답 결과를 출력한다.

 

 

728x90
반응형