Programming/Spring
컨트롤러란, 기본적인 동작방식 (FrontController, Dispatcher)
JunFe
2021. 8. 11. 18:57
반응형
본 내용은 이지업 사이트의 스프링부트 SNS프로젝트 - 포토그램 만들기 강의를 들은 내용을 기반으로 작성하였습니다.
Spring Boot는 Servlet으로 만들어져 있습니다.
Servlet이란?
- 서버에서 웹페이지 등을 동적으로 생성하거나 데이터 처리를 수행하기 위해 자바(Java)로 작성된 프로그램을 말한다.
- Java로 매핑할 수 있는 기술
예시로
로그인 요청 -> Login.java
회원가입 요청 -> Join.java
게시물 쓰기 -> write.java
이렇게 요청의 갯수에 따라 Java파일(Servlet 파일)이 필요하다.
이는 매우 비효율적이다. 이것을 보완하기 위해 Controller를 사용한다고 생각하면 된다. Controller를 사용하면 아래와 같은 구조.
모든 요청을 FrontController.java에서 받고 있다.
여기에는 또 문제가 존재한다. 요청이 엄청나게 많아진다면 한 Controller에서 그 요청을 다 받는 것은 좋은 구조가 아니다.
그렇다면 어떻게 해야하는가?
Dispatcher를 통해 Domain 별로 분기해주고 Controller를 이용하여야 한다.
스프링 부트의 경우 Dispatcher가 이미 만들어져있고, 사용자는 Controller만 만들고 적절하게 사용하면 된다.
반응형