위로
아래
디스패처 서블릿
- HTTP 프로토콜로 들어오는 모든 요청을 가장 먼저 받아 적합한 컨트롤러에 위임해준다.
- 프론트 컨트롤러 : 가장 먼저 요청을 받는 컨트롤러
- 해당 어플리케이션으로 들어오는 요청을 핸들링해주기 때문에, web.xml의 역할을 축소시켜준다.
- context는 container의 다른 이름으로 볼 수도 있다.
디스패처 서블릿 동작 순서
- 클라이언트의 요청을 디스패처 서블릿이 받는다.
- 요청 정보를 통해 요청을 위임할 컨트롤러를 찾는다.
- 요청을 컨트롤러로 위임할 핸들러 어댑터를 찾아서 전달한다.
- 핸들러 어댑터가 컨트롤러로 요청을 위임한다.
- 비즈니스 로직을 처리한다.
- 컨트롤러가 반환값을 반환한다.
- 핸들러 어댑터가 반환값을 처리한다.
- 서버의 응답을 클라이언트로 반환한다.
- 브라우저가 DispatcherServlet에 URL로 접근하여 해당 정보를 요청한다.
- 핸들러 매핑에서 해당 요청에 매핑된 컨트롤러가 있는지 요청
- 매핑된 컨트롤러에 대해 처리 요청
- 컨트롤러가 클라이언트의 요청을 처리한 결과와 View 이름을 ModelAndView에 저장해서 DispatcherServlet으로 반환
- DIspatcherServlet에서는 컨트롤러에서 보내온 View 이름을 ViewResolver로 보내서 해당 View를 요청
- ViewResolver는 요청한 View를 보냄.
- View 처리 결과를 DispatcherServlet으로 보낸다.
- DispatcherServlet은 최종 결과를 브라우저로 전송
참고
https://mangkyu.tistory.com/18