모든 클라이언트 요청을 단일 진입점(즉, Front COntroller)으로 받아들이고, 이 요청을 적절한 핸들러(Controller)로 전달하여 처리하는 패턴
Front Controller Pattern의 핵심은 모든 요청을 하나의 컨트롤러(예: 서블릿, 디스패처 서블릿)에서 수집하고, 요청을 분석한 후 적잘한 비즈니스 로직을 수행하는 컨트롤러로 분기시키는 것이다.
[web.xml] 파일에서 클래스를 서블릿으로 등록하고 클라이언트의 모든 요청을 받아 처리할 수 있도록 URL 패턴을 동록 처리 해야한다.
servlet: 서블릿 클래스를 서블릿으로 등록하기 위한 엘리먼트
servlet-name: 서블릿을 구분하기 위한 식별자를 설정하기 위한 엘리먼트
servlet-class: 서블릿 요청시 객체로 생성될 서블릿 클래스를 설정하기 위한 엘리먼트
servlet-mapping: 서블릿을 요청할 수 있는 URL 주소를 등록하기 위한 엘리먼트
servlet-name: 요청에 의해 실행될 서블릿의 식별자를 설정하기 위한 엘리먼트
url-pattern: 서블릿을 요청할 수 있는 URL 주소(패턴)를 설정하기 위한 엘리먼트

클라이언트의 요청을 처리하는 기능의 클래스 - 요청 처리 클래스
클라이언트의 요청을 하나의 클래스로 처리되도록 작성 - Command Controller Pattern

처리결과와 뷰이름을 저장하기 위한 객체
ModelAndView.addObject(String attributeName, Object attributeValue)
ModelAndView.setViewName(String viewName)
ModelAndView 객체를 사용할 때 EL 표현식으로 사용할 수 있다. ${해당 속성값만 사용}
ModelAndView에 저장된 데이터를 자동으로 Request Scope에 저장하여 JSP에 쉽게 접근할 수 있도록 하기 때문에 EL 표현식에서 ${productList}는 productList 라는 이름의 속성을 찾을 수 있다. 
Controller 인터페이스를 상속받은 자식클래스(요청 처리 클래스)를 Spring Bean으로 등록
SimpleUrlHandlerMapping 객체를 사용하여 컨트롤러(DispatcherServlet 객체)에게 클라이언트 요청정보를 전달받아 요청 처리 클래스(Controller)의 객체를 반환하는 기능을 제공한다.
