인프런 - 스프링부트 개념 정리(이론) - 정리
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)된다. 보통 필터들인데 해당 필터들은 직접 등록할수도 있고 기본적으로 필요한 필터들은 자동 등록되어진다.