스프링부트는 프레임워크이다. 스프링부트는 Servlet이라는 기술로 만들어졌는데, servlet은 java로 web을 할 수 있는 기술이다.
프레임워크=불필요한 작업을 하지 않도록 형식을 만들어 놓은 툴
클라이언트(웹 브라우저)가 요청을 할 때마다 java파일이 호출 된다.
로그인 요청 - > login.java
회원가입 요청 -> join.java
게시글 요청 -> write.java
이런식으로
요청의 종류가 3개면 3개의 java파일이 필요해짐
하나의 java파일에서 모든 요청을 받는 Frontcontroller 를 사용하기로 함
로그인, 회원가입, 게시글 요청을 하나로 -> ForontController.java
문제는 ; ex) 요청이 많아지면 100개..else if문도 100개..
너무많은 요청을 한 곳으로 모이는 것을 막기 위해 도메인(범주를 정해주는 것)별로 분기
User테이블
로그인 -> UserController.java
회원가입 -> UserController.java
Board테이블
글쓰기 -> BoardController.java
글삭제 -> BoardController.java
글수정 -> BoardController.java
Product테이블
상품등록 -> ProductController.java
상품 목록 보기 -> ProductController.java
> 이는 Frontcontroller 패턴을 따르면서 도메인별로 나눈 것이다.
위와같이 요청을 해당 컨트롤러로 보내는 분기 일은 Dispatcher가 한다. (ServletDispatcher, RequestDispatcher라고도 함)
이와같은 Spring Framework(Spring Boot)는 이 Dispatcher가 이미 만들어져있고 Controller도 만들어져 있어서 내가 정의만 내리면 사용 가능하다.
Controller만 만들면 된다.