오봉이와 함께하는 개발 블로그

스프링 MVC 1 - 프론트 컨트롤러 패턴 소개 본문

BE/Servlet

스프링 MVC 1 - 프론트 컨트롤러 패턴 소개

오봉봉이 2022. 8. 11. 18:09
728x90

프론트 컨트롤러 패턴 소개

전에 서블릿을 컨트롤러로 하고 JSP를 뷰로 하는 MVC 패턴에서는 공통 처리, 반복적 작업 등 여러 불편 사항이 있었다.
이를 개선하는 프론트 컨트롤러 패턴을 도입하도록 해보자.

프론트 컨트롤러 도입 전

기존에는 컨트롤러에 공통 로직을 만들고 컨트롤러 로직을 만들었어야 했다.

프론트 컨트롤러 도입 후

프론트 컨트롤러를 도입하면 공통 로직을 한 곳에 두고 컨트롤러에서 필요한 로직을 각자 처리할 수 있도록 할 수 있다.
항상 프론트 컨트롤러를 통해 클라이언트 요청에 맞는 컨트롤러를 사용한다.

FrontController 패턴 특징

  • 프론트 컨트롤러 서블릿 하나로 클라이언트의 요청을 받는다.
  • 프론트 컨트롤러가 요청에 맞는 컨트롤러를 찾아서 호출한다.
  • 입구가 하나가 된다.
  • 공통 처리가 가능해진다.
  • 프론트 컨트롤러를 제외한 나머지 컨트롤러는 서블릿을 사용하지 않아도 된다.

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

스프링 웹 MVC의 핵심도 바로 FrontController에 있다.
스프링 웹 MVC의 DispatcherServlet이 FrontController 패턴으로 구현되어 있다.

출처 : 인프런 김영한 지식 공유자님 강의 - 스프링 MVC 1편 백엔드 웹 개발 핵심 기술
728x90
Comments