클라이언트의 요청을 처리하고 결과를 반환하는 자바 웹 프로그래밍 기술.
일반적으로 서블릿은 서블릿 컨테이너(Servlet Container)에서 관리한다. 서블릿 컨테이너는 서블릿 인스턴스(servlet instance)를 생성하고 관리하는 역할을 수행하는 주체로서 톰캣은 WAS의 역할과 서블릿 컨테이너의 역할을 수행하는 대표적인 컨테이너이다.
서블릿 컨테이너의 특징은
스프링에서는 DispatcherServlet
이 서블릿의 역할을 수행한다. 일반적으로 스프링은 톰캣을 임베드해 사용한다. 그렇기 때문에 서블릿 컨테이너와 DispatcherServlet
은 자동 설정된 web.xml
의 설정값의 공유한다.
DispatcherServlet
으로 요청(HttpServletRequest)이 들어오면 DispatcherServlet
은 핸들러 매핑을 통해 요청 URI에 매핑된 핸들러를 탐색한다. 여기서 핸들러는 Controller를 의미한다. ModelAndView
로 응답을 가공해 반환한다.