1.2.2 스프링 MVC의 구성 요소
스프링 MVC는 웹 브라우저에서 서버로 들어오는 모든 웹 요청을 받아 처리하고, 결과를 되돌려 주기까지 디스패처 서블릿(DispatcherServlet)의 도움을 받습니다. 디스패처 서블릿은 웹 애플리케이션으로 들어오는 모든 요청을 제어하고 모델-뷰-컨트롤러를 조합하여 웹 브라우저에 출력하는 클래스로, 스프링 MVC의 대표적인 구성 요소입니다.
그럼 디스패처 서블릿을 비롯한 스프링 MVC를 구성하는 요소가 무엇이고 어떤 역할을 하는지 알아보겠습니다.
▼ 표 1-1 스프링 MVC 주요 구성 요소
구성 요소 |
설명 |
디스패처 서블릿(DispatcherServlet) |
웹에서 요청을 전달받습니다. 전달받은 요청을 컨트롤러에 전달하고, 컨트롤러가 반환한 결과 값을 뷰에 전달하여 알맞은 응답을 생성합니다. |
핸들러 매핑(HandlerMapping) |
클라이언트가 요청한 URL을 어떤 컨트롤러가 처리할지 결정합니다. |
컨트롤러(Controller) |
클라이언트의 요청을 처리한 후 결과를 반환합니다. 응답 결과에서 보여 줄 데이터를 모델에 담아 전달합니다. |
모델 앤 뷰(ModelAndView) |
컨트롤러가 처리한 결과 정보와 뷰 선택에 필요한 정보를 담습니다. |
뷰 리졸버(ViewResolver) |
컨트롤러의 처리 결과를 보여 줄 뷰를 결정합니다. |
뷰(View) |
컨트롤러의 처리 결과 화면을 생성합니다. 주로 JSP 파일로 클라이언트에 응답 결과를 전송합니다. |