학습 기록/스프링 복습

DispatcherServelet

서버관리자 페페 2024. 5. 20. 11:59

중앙에 위치한 DispatcherServelet이 모든 연결을 담당

 

브라우저로부터 요청이 들어오면 HandleMapping이라는 빈 객체에게 컨트롤러 검색을 요청한다(경로를 이용해서)

 

@Controller, Controller 인터페이스, HttpRequestHandler 인터페이스를 동일한 방식으로 처리하기위해 중간에 HandlerAdapter를 사용한다.

 

Mapping에게 찾고, Adapter가 실행

 

-

 

Adapter는 컨트롤러의 메서드를 호출해서 요청을 처리, 결과를 DispatcherServelet에 리턴한다.

이 때 M&V라는 객체로 반환되어  리턴된다.

 

M&V로 받았으면 DS은 ViewResolver에게 위임, View 객체를 찾거나 생성해서 리턴한다.

 

-

 

클라이언트 요청을 처리하기 위해 사용되는 타입 중에는 HttpRequestHandler도 있다.

  

실제 처리 : HAndler

 

-

 

DispatcherServelet은 전달받은 설정 파일을 이용해서 스프링 컨테이너를 생성하는데, 이 컨테이너에서 

HandlerMapping, HandlerAdapter, 컨트롤러, ViewResolver등의 빈 을 구한다.

 

사용한 핸들러의 종류에 따라 HandlerMapping과 HandlerAdapter를 스프링 빈으로 등록해야 하는데

 

@Configuration

@EnableWebMVC

MVCConfig { } 

 

RequestMappingHandlerMapping

RequestMappingHandlerAdapter 가 자동 추가된다.

 

-

 

@Configuration

@EnableWebMVC

MVCConfig implements WebMvcConfigurer { }

 

 

@Override ->

configureServeletHandling -> configure.enable();

configureViewResolvers -> registry.jsp("WEB-INF/view/", ".jsp");

 

외에도 컨피규어패스매치 / 컨피규어디폴트서블릿핸들링 / 애드포매터 / 애드인터셉터 

'학습 기록 > 스프링 복습' 카테고리의 다른 글

JDBC Template / 트랜잭션  (0) 2024.05.07
AOP복습  (0) 2024.05.07
빈 라이프사이클  (0) 2024.05.07
스프링 DI 복습  (0) 2024.05.07