Next-Squad/Interview-Question

[Spring] 9. 프론트 컨트롤러 패턴이란 무엇인가요?

zbqmgldjfh opened this issue · 1 comments

프론트 컨트롤러 패턴에 대하여 정리하기

키워드

Spring, Spring MVC, front controller

프론트 컨트롤러 패턴

클라이언트의 다양한 요청마다 서블릿을 만들어서 사용한다고 하면 자원 낭비도 심하며, 개발과 유지보수의 효율이 떨어질 수 밖에 없습니다.

프론트 컨트롤러 패턴은 서블릿 하나로 클라이언트의 요청을 받고, 각 요청을 적절한 Controller로 위임해줌으로써 개발과 유지보수의 효율성이 증가하게 됩니다.

또한 모든 요청에 대해 보안, 국제화, 라우팅 및 로그와 같은 일반적인 공통처리를 한곳에서 적용할 수 있습니다.

Spring에서는 DispatcherServlet이 프론트 컨트롤러 패턴을 사용한 예이며, DispatcherServlet이 Bean으로 등록되어 package를 scan하고 @controller, @RestController 애노테이션을 확인하여 어떠한 요청이 들어왔을 때 적절한 Handler Method에 위임하는 역할을 합니다.


출처
인프런 김영한 Spring MVC1편 - 프론트 컨트롤러 패턴 소개