인프런 - 스프링부트 개념 정리(이론) - 정리

12강 - 디스패처 서블릿이 무엇인가요?

달팽이포뇨 2023. 3. 29. 20:42

Inflearn 최주호 강사님의 스프링부트 개념정리(이론) 강의를 듣고 정리한 내용입니다.

 

FrontController 패턴

최초 앞단에서 request 요청을 받아서 필요한 클래스에 넘겨준다. web.xml에 다 정의하기 힘들기 때문에 
FrontController에 정의한다.

요청이 톰캣으로 가면 request-요청한 사람의 데이터를 담고 있음, response-응답할 데이터가 들어갈 것 객체가 생성된다.

->톰캣이 객체를 생성한다.

특정 주소로 요청이 들어오면 FrontController가 낚아채도록 구성 - 해당 요청에서 원하는 자원을 준다. new 발생 -> 최초의 request와 response가 바뀐다. 이런 일이 일어나지 않도록 기존의 request, response를 유지하는 방법이 필요함. - RequestDispatcher가 필요하다.

 

DispatchServlet

스프링의 DispatchServlet은 FrontController 패턴 + RequestDispatcher이다.

DispatchServlet이 자동생성되어 질 때 수많은 객체가 생성(IoC)된다. 보통 필터들인데 해당 필터들은 직접 등록할수도 있고 기본적으로 필요한 필터들은 자동 등록되어진다.