먼저 브라우저로부터 요청이 들어오면 일단 Filter을 거치게 된다.
Filter에서 하는 대표적인 처리를 보면 Encoding이 있다.
다음으로 DispatcherServlet이 Controller에 요청을 전달하기 전에 가로챈다.
요청을 가로챈 후 HandlerMapping을 통해 요청에 해당하는 적절한 Controller을 찾게 된다.
그리고 DispatcherServlet에 그것을 전달한다.
DispatcherServlet은 실행할 Controller 정보를 HandlerAdapter에 전달하게 된다.
HandlerAdapter는 해당 Controller을 호출하게 된다.
Controller에서는 전달된 요청을 처리한다.
예를 들어 게시판의 글 목록을 가져오는 요청을 받으면 Controller는 게시판 Service를 호출하고 Service에서는 DAO를 통해 게시판 글 목록을 가져오게 된다.
요청을 처리한 후 그 결과를 Model에 담고, View의 이름을 HandlerAdapter에게 전달하게 된다.