코딩하는 바나나
[BackEnd] Spring MVC 본문
MVC 패턴이란 Model, View, Controller의 개념이 합쳐진 개발 방식이다.
동작 방식은 사용자가 서버로 request를 보내면 이를 일단 Controller가 받는다.
Controller는 Service같은 객체들을 이용해서 비지니스 로직을 수행하고 이 결과를 Model에 담는다.
이를 View를 이용해서 Model에 담긴 정보를 바탕으로 화면을 구성하고 사용자에게 응답을 해준다.
Spring MVC 패턴은 이런 MVC 패턴을 바탕으로 만들어진 것이다.
작동방식은 다음과 같다.
먼저 사용자로 부터 들어오는 모든 요청들은 DispatcherServlet이 받는다.
이제 이 요청을 처리해줄 Controller를 찾아야한다. 이는 HandlerMapping이 찾아준다. 찾아 주는 방식은 사용자의 요청에 담긴 uri와 http메소드를 보고 해당 uri와 http메소드에 매핑이 되어있는 Controller를 찾는 방식이다. HandlerMapping이 찾은 Controller를 DispatcherServlet에 반환한다.
이제 Controller를 찾았으니 실행시키면 된다. DispatcherServlet이 HandlerAdapter에게 해당 Controller를 실행시키라고 명령한다. 그러면 Controller안에서 비지니스 로직이 수행되고 수행한 결과를 모델에 저장하고 사용자에게 보여줄 view 파일의 이름을 HandlerAdapter에 반환한다.
이제 DispatcherServlet은 ViewResolver에게 view파일을 찾으라고 명령한다. 그러면 ViewResolver는 해당 view파일을 찾아서 반환환한다.
마지막으로 DispatcherServlet이 View파일에게 랜더링을 하라고 명형한다. 그러면 View는 Model에 담긴 정보를 이용해서 렌더링을 진행하고 이는 사용자에게 전달된다.
여기서 프로그래머가 구현해야 할 부분은 보라색 부분이다. 나머지는 보통 스프링에 내부적으로 구현이 되어있기 때무에 우리는 이를 활용하기만 하면 된다.
'Web' 카테고리의 다른 글
TCP 와UDP (0) | 2022.05.03 |
---|---|
[BackEnd] JWT (0) | 2022.04.13 |
[BackEnd] Spring JDBC (0) | 2022.03.29 |
[BackEnd] JDBC (0) | 2022.03.27 |
[BackEnd] DB, DBMS (0) | 2022.03.27 |