1. Spring IoC Container 연동

2. DispatcherServlet 개념

3. DispatcherServlet 실전

4. DispatcherServlet 동작원리

1. Spring IoC Container 연동(Root WebApplicationContext)

1-1) 서블릿에서 스프링이 제공하는 IoC 컨테이너 활용하는 방법

1-1)-1. Web Mvc 의존성 추가

Untitled

1-1)-2. web.xml

2. DispatcherServlet(Front-Controller)

2-1) DispatcherServlet

2-1)-1. DispatcherServlet

Root WebApplicationContext를 상속 받아 Servlet WebApplicationContext를

만드는 역할을 'DispatcherServlet'이 함. Dispatch(보내다)

가장 앞 단에서 HTTP 프로토콜로 들어오는 모든 요청을 가장 먼저 받아

적합한 컨트롤러에 위임해주는 프론트 컨트롤라고 정의.

2-1)-2. DispatcherServlet의 일처리

클라이언트로부터 어떠한 요청이 오면 Tomcat과 같은 서블릿 컨테이너가 요청을 받게 됨.

이 모든 요청을 먼저 프론트 컨트롤러인 DispatcherServlet이 받게 됨.

공통적인 작업을 먼저 처리한 후에 해당 요청을 처리해야 하는 세부 컨트롤러를 getBean()으로 가져오고, 정해진 메소드를 실행시켜 작업을 위임함.

예외가 발생했을 때 DispatcherServlet이 처리함.

2-1)-3. Root WebApplicationContext와 DispatcherServlet 상속구조 이유

그리고 다른 DispatcherServlet에서도 서로 공유할 수 있는 상황(Bean)이

생기기 때문에 상속구조를 만들어서 하는 이유가 됨.

2-2) DispatcherServlet 구조

Untitled

2-3) DispatcherServlet의 흐름

Untitled

3. DispatcherServlet 실전

3-1) DispatcherServlet

3-1)-1. HelloController

어떤 요청을 처리하는 HandlerMapping을 아래와 같은 경우로 만들어서 하고 싶다면

Spring MVC를 써야하며, 이러한 Handler 요청을 Dispatcher(보내다)해줄 수 있고

@어노테이션 이해하며 HTTP Response로 만들어줄 수 있는 DispatcherServlet을 써야 함.

Untitled

3-2) DispatcherServlet 등록(계층 구조)

계층 구조에서 RootWebApplicationContext(부모에 해당)

DispatcherServlet(자식에 해당) 자식은 부모(Service, Repository)를 참조할 수 있음.

3-2)-1. Root WebApplicationContext

3-2)-2. DispatcherServlet

4. DispatcherServlet 동작원리