복잡한 웹 사이트에서는 요청을 처리할 때 수행해야 하는 공통된 작업들이 있습니다. 이러한 것들은 인증, 보안, 다국어 처리, 사용자를 위한 공통 응답을 포함합니다. 입력 컨트롤러 동작이 여러 개체에 분산된 경우 이 동작의 대부분이 중복될 수 있습니다.
여러 요청을 처리하는데 반복적으로 등장하게 되는 공통 작업을 하나의 오브젝트에서 일괄적으로 처리하게 만드는 방식을 프론트 컨트롤러 패턴(Front Controller Pattern)이라고 합니다.
가령 서블릿 컨테이너의 서블릿이 모든 요청에 대해 처리했다면, Front Controller을 거쳐 서블릿을 매핑 및 바인딩을 할 수 있습니다.
Front Controller가 HTTP 요청을 처리할 핸드러를 결정하고 연동한는 작업을 Mapping이라 하며, 핸들러에게 웹 정보를 추출하여 전달하는 작업을 Binding이라고 합니다. Front Controller가 요청을 분석하여 처리할 요청을 구분하여 이를 처리할 핸들러에게 넘겨줍니다. 핸들러가 처리하고 돌려준 리턴 값을 해석하여 웹 요청을 생성합니다.