클라이언트가 localhost:8080으로 접근하면 요청을 처리할 서블릿에 접근하기 전에 먼저 ResourceFilter와 CharacterEncodingFilter의 doFiltre() 메서드가 실행된다. ResourceFilter의 경우 해당 요청이 정적 자원( CSS, 자바스크립트, 이미지 ) 요청이 아니기 때문에 서블릿으로 요청을 위임한다.
service() 메서드 실행
요청 처리는 "/" 으로 매핑되어 있는 DispatcherServlet이므로 이 서블릿의 service() 메서드가 실행된다.
URL 분석 후 Controller 객체 찾음
service() 메서드는 요청받은 URL을 분석해 해당 Controller 객체를 Request Mapping에서 가져온다. 요청 URL은 "/"이며, 이와 연결되어 있는 HomeController가 반환된다.
serivce() 메서드는 excute() 메서드로 작업을 위임
service() 메서드는 HomeController의 execute() 메서드에게 작업을 위임한다. 요청에 대한 실질적인 작업은 HomeController의 execute() 메서드에서 진행된다. execute() 메서드의 반환 값은 ModelAndView이다.
render() 메서드가 실행
service() 메서드는 반환 받은 ModelAndView의 모델 데이터를 뷰의 render() 메서드에 전달한다. 이 요청에서 View는 JspView이다. JspView는 render() 메서드로 전달된 모델 데이터를 home.jsp에 전달해 HTML을 생성하고, 응답함으로써 작업을 끝낸다.