공부하는 스누피

[Spring] MVC 기본 정리 본문

Web/Spring

[Spring] MVC 기본 정리

커피맛스누피 2020. 8. 19. 01:11

DispatcherServlet

스프링 컨테이너를 생성해 웹 브라우저의 요청을 받아 알맞은 응답을 보내고, 컨테이너 안의 컴포넌트간 요청 흐름을 제어한다.

* Servlet이란 자바에서 웹을 만들기 위해 필요한 기술로, 요청을 받고 응답을 보내주는 역할을 한다.

 

HandlerMapping

요청을 처리할 핸들러(컨트롤러) 객체를 찾아준다.

@Controller를 적용한 Bean 객체에 명시된 경로만 대응할 수 있다.

 

Controller(핸들러)

요청을 실제로 처리한 뒤 View 정보와 Model을 설정한다.

 

HandlerAdapter

DispatcherServlet과 Controller 간 변환을 처리해 준다.

 

ViewResolver

요청 처리 결과를 생성할 View를 찾아준다.

 

View

응답을 생성한 후 DispatcherServlet에 전달해 사용자에게 응답이 갈 수 있게 한다.

 

+ MVC를 위한 설정 클래스 WebMvcConfigurer

설정 클래스에 @EnableWebMvc 어노테이션을 붙이면 @Controller 어노테이션을 붙인 컨트롤러를 위한 설정을 생성한다. WebMvcConfigurer 인터페이스를 구현하여 상황에 맞게 메소드를 오버라이딩하면 된다.

configureViewResolvers 메소드를 재정의할 경우 View 폴더 위치 등 View와 관련된 설정을 할 수 있다.

configureDefaultServlet 메소드는 클라이언트의 모든 요청을 디폴트 Servlet에 전달하게 한다. 여기서 DispatcherServlet은 HandlerMapping에 Controller를 찾아본 후 없으면 SimpleUrlHandlerMapping에서 Controller를 찾게 한다. SimpleUrlHandlerMapping을 사용하게 될 경우 디폴트 Servlet에 처리를 위임한다.

Comments