MVC 프레임워크 만들기

프론트 컨트롤러 패턴을 도입하기 이전에는 공통 로직을 앞에 깔고 그 뒤에 별도의 컨트롤러를 깔았다. 특정 입구 없이 아무나 다 들어올 수 있기 때문에 공통 로직을 여러 군데에 만들어야 했다.

도입 후에는 공통 로직을 한 쪽에 몰고 컨트롤러가 각자 로직을 처리한다.

특징

  • 프론트 컨트롤러 서블릿을 하나 두고 여기서 클라이언트 요청을 모두 받는다.

  • 프론트 컨트롤러가 요청에 맞는 컨트롤러를 찾아서 호출한다.

  • 입구를 하나로 두고 공통 로직을 처리할 수 있다.

  • 프론트 컨트롤러를 제외한 나머지 컨트롤러는 서블릿을 사용하지 않아도 된다.

    • 프론트 컨트롤러가 직접 필요한 것을 호출해줄 것이기 때문에 다른 데에서는 서블릿이 필요없다.

스프링 MVC와 프론트 컨트롤러

  • 스프링 웹 MVC의 핵심도 프론트 컨트롤러에 있다.

  • 스프링 MVC의 DispatcherServlet이 프론트 컨트롤러 패턴으로 구현되어 있다.

Last updated