..

DispatcherServlet: Spring MVC의 핵심 엔진

1. DispatcherServlet이란?

DispatcherServlet은 Spring MVC 프레임워크의 중심이 되는 서블릿입니다. HTTP 요청이 들어오면 가장 앞단에서 이를 낚아채어 적절한 컨트롤러에게 전달하는 Front Controller 역할을 수행합니다.

2. 핵심 구성 개념

Front Controller 패턴

모든 요청을 단 하나의 입구(DispatcherServlet)에서 통합 관리하는 디자인 패턴입니다. 공통 처리 로직을 한곳에서 처리할 수 있어 중복 코드를 줄이고 구조를 단순화합니다.

RequestDispatcher의 역할

사용자의 요청이 여러 클래스를 거치는 동안 원래의 requestresponse 정보를 유실하지 않고 그대로 유지하며 전달해 주는 기법입니다. 이를 통해 다른 페이지로 이동하거나 데이터를 전달할 때 정보를 안전하게 보존할 수 있습니다.

3. 작동 프로세스 요약

  1. 요청 수신: 모든 요청은 DispatcherServlet으로 모입니다.
  2. 핸들러 매핑: 어느 컨트롤러가 이 요청을 처리할지 찾아냅니다.
  3. 핸들러 어댑터: 찾아낸 컨트롤러를 실제로 실행합니다.
  4. 뷰 리졸버: 컨트롤러가 반환한 결과를 바탕으로 어떤 화면을 보여줄지 결정하여 응답을 완성합니다.

DispatcherServlet은 개발자가 복잡한 Servlet 설정을 일일이 하지 않아도 객체 지향적인 웹 애플리케이션을 개발할 수 있게 해주는 “스프링 웹 기술의 집약체”라고 할 수 있습니다.