: Model-View-Controller 디자인패턴
디자인 패턴의 일종
이때, 서버에서 HTML을 어떻게 내려주는가(정적/동적)에 따라 MVC의 동작 원리에 차이가 있다.


Template Engine : View에 Model을 적용하는 역할 (➡ 동적 웹페이지 생성)
View : 동적 HTML파일
Model : View에 적용할 정보들
💡 @Controller는 스프링 서버 개발자 입장에서는 시작점과 끝점으로 보이지만, 사실 스프링이 뒤에서 많은 부분을 보이지 않게 처리해 주고 있다.

1. Client → DispatcherServelet
2. Handler mapping
HomeController 의 helloHtmlFile() 함수UserController 의 login() 함수UserController 의 signup() 함수UserController 의 registerUser() 함수3. DispatcherServelet → Controller
@Controller
public class ItemSearchController {
@GetMapping("/api/search")
@ResponseBody
public List<ItemDto> getItems(@RequestParam String query) {
// ...
}
}4. Controller → DispatcherServelt
💡 주의!
@ResponseBody활용하여 Json 형식 리턴하는 경우에는 ➡ Model과 View를 전달해주지는 않음
5. ViewResolver
6. DispatcherServelet → Client