[Spring] 스프링 MVC(Spring MVC) 동작방식
Updated:
1. 개요
스프링 MVC는 Dispatcher Servlet을 시작으로, 사용자 요청 및 응답에 대한 처리를 쉽게 가능하도록 한다. 이번에는 스프링 MVC 동작방식에 대해 알아보도록 하자.
2. 스프링 MVC 동작방식
- 클라이언트가 HTTP 요청이 Dispatcher Servlet에게 전달
- Handler Mapping에서 요청을 처리하기 위한 Handler 조회
- 조회 된 Handler를 실행할 수 있는 Handler Adapter 조회
- 조회 된 Handler Adapter에 요청 전달
- Handler에 요청을 전달하여 로직 수행
- ModelAndView 반환
- Dispatcher Servlet에게 ModelAndView 전달
- ViewResolver에게 View의 논리이름 전달 (ex. member-list)
- Dispatcher Servlet에게 View의 물리이름 전달 (ex. /resources/templates/member-list.html)
- View를 통해 View 렌더링
- 클라이언트에게 HTML 응답
3. Handler Mapping 우선순위
0 : RequestMappingHandlerMapping
- Annotation 기반의 컨트롤러에서 사용
1 : BeanNameUrlHandlerMapping
- 스프링 빈의 이름으로 찾을 때 사용
4. Handler Adapter 우선순위
0 : RequestMappingHandlerAdapter
- Annotation 기반의 컨트롤러에서 사용
1 : HttpRequestHandlerAdapter
- HttpRequestHandler 처리를 위해 사용
2 : SimpleControllerHandlerAdapter
- Controller 인터페이스에서 사용
5. View Resolver 우선순위
1 : BeanNameViewResolver
- 빈 이름으로 뷰를 찾을 때 사용
2 : InternalResourceViewResolver
- JSP를 처리하기 위해 사용
Leave a comment