<aside> 😊 Springboot 동작원리 7가지에 대해 정리한 페이지입니다 :)

</aside>

**01 내장 톰켓을 가진다**
- 톰켓을 따로 설치할 필요 없이 바로 실행 가능

<aside> 💡 알아두면 좋아요

</aside>

Socket(소켓) : 운영체제가 가지고 있는 것
**02 서블릿 컨테이너**
- 클라이언트가 요청을 하면 톰켓이 요청을 받고 최초요청이면 객체를 생성하고 최초요청이
	아니면 이미 생성된 개체를 재사용

<aside> 💡 알아두면 좋아요

</aside>

URL : 자유접근, URI : 식별자 접근
	 -> 특정한 파일 요청을 할 수 없다. 요청시에는 무조건 자바를 거쳐야 함
**03 web.xml**
- ServletContext 의 초기 파라미터
- Session 의 유효시간 설정
- Servlet / JSP 에 대한 정의
- Servlet / JSP 매핑
- Mime Type 매핑
- Welcome File list
- Error Pages 처리
- 리스너 / 필터 설정
- 보안
**04 FrontController 패턴**
- 최초 앞단에서 request, response 요청을 받아서 필요한 클래스에 넘겨줌
	이때 새로운 요청이 생기기 때문에 request와 response 가 새롭게 new될 수 있음
	그래서 아래의 RequestDispatcher가 필요
**05 RequestDispatcher**
- 필요한 클래스 요청이 도달했을때 FrontController에 도착한 request와 response를 그대로 유지
**06 DispathchServlet**
- FrontController 패턴을 직접 짜거나 RequestDispatcher를 직접구현할 필요가 없음
	왜냐하면 스프링에는 DispathchServlet이 있기 때문임
	DispatchServlet은 FrontController 패턴 + RequestDispatcher

- DispatchServlet이 자동생성되어 질 때 수 많은 객체가 생성(IoC)
	해당 필터들은 내가 직접 등록할 수 도 있고 기본적으로 필요한 필터들은 자동 등록