spring mvc를 들으면서 라이프사이클을 기록하고 싶고, 중요한 아이를 기록하고 싶어서 글을 남기게 됐다.
요청
-> DispatcherServlet : 특정 컨트롤러 선택
-> WebApplicationContentext : 컨트롤러 처리 후 뷰리졸브에게 어떤 뷰를 사용해야할지 매핑(HandlerMapping)
<-> WebApplicationContexts : 모델
원래는 apache tomcat에서 정의한 요청이 발생하게 되면 DefaultServlet 이라는 서블릿이 최초 분석하여 컨트롤러로 연결해주나, spring MVC에서는 dispatchSevlet으로 낚아채어 변경해주는 게 1순위.
Spring 에서 HTTP Request들을 받아 올바른 @Controller, @RestController 어노테이션이 달린 핸들러(컨트롤러)로 위임.
RequestDispatcher의 역할과 font controller 패턴이 합쳐짐.
클라이언트로부터 들어온 요청을 원하는 자원으로 보내는 역할을 수행하거나, 특정 자원에 처리를 요청하고 결과를 가져오는 기능을 수행한다.
- 사용법
RequestDispatcher dis = request.getRequestDispatcher(viewName);
dis.forward(request, response);