FrontController
FrontController는 컨트롤러의 앞단에서 클라이언트의 요청을 받고, 요청에 맞는 컨트롤러에 위임해주는 역할을 수행한다.
또한, 공통 처리를 해서 각 컨트롤러마다 중복되는 코드를 줄여주는 역할도 수행한다.
FrontController 도입 전

- 각 컨트롤러에 공통으로 처리되는 코드들이 중복으로 작성되어 있는 문제가 있다.
FrontController 도입 후

- FrontController를 도입해 공통 처리부분의 중복을 줄일 수 있다.
- 클라이언트 요청을 FrontController에서 받고, 요청에 맞는 컨트롤러를 찾아서 호출해준다.
- 스프링 웹 MVC의 DispatcherServlet이 FrontController 패턴으로 구현되어 있다.
참고
스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 - 김영한