이전 글에서, 프론트 컨트롤러 패턴을 도입하면 공통 처리에 대한 부분들을 해결할 수 있다고 했었다.
이게 무슨 말일까? 그림으로 확인하면 이해하기 쉽다. 아래의 2개의 그림을 보자.
첫번째 그림은 프론트 컨트롤러 패턴을 적용하기전의 그림, 즉 저번 글에서 단순하게 MVC 패턴만 적용했던 경우이고,
두번째 그림은 MVC 패턴을 적용한 상태에서 프론트 컨트롤러 패턴까지 적용한 경우이다.
프론트 컨트롤러 패턴의 특징은 다음과 같다.
스프링 웹 MVC의 핵심도 바로 프론트 컨트롤러이다.
스프링 웹 MVC의 DispatcherServlet이 프론트 컨트롤러 패턴으로 구현되어있다.
당연히 프론트 컨트롤러만 도입한다고 MVC 프레임워크가 완성되는 것은 아니다.
스프링 웹 MVC의 프론트 컨트롤러인 DispatcheServlet가 핵심적인 역할을 하는 것도 맞지만, 스프링 웹 MVC는 DispatcheServlet만으로 동작하지 않는다. 최종적인 MVC 프레임워크가 완성되기 위해서 추가되어야하는 기능들은 아래와 같이 훨씬 많다.
직접 MVC 프레임워크를 자바 코드로 작성하여 만드는 과정은 생략한다.
대신, MVC 프레임워크가 동작하는 순서를 포괄적으로 복기해보자.
물론, 자세한 동작과정은 더 복잡하다.
포괄적인 순서이므로 이렇게 알고, 다음 글인 스프링 MVC에서 좀 더 자세히 알아보자.