728x90
Spring을 사용하면서 Client에서 Request 요청 시 어떤 동작을 하는지에 대해 정리한 내용입니다.
📌 Spring MVC 요청 흐름 정리
1. 주요 구성요소 설명
📥 Request / Response
- Request: 클라이언트가 서버에 보내는 요청
- Response: 서버가 클라이언트에게 반환하는 응답
🎯 DispatcherServlet
- Front Controller 역할을 하며 모든 요청의 진입점입니다.
- 요청을 받아서 처리할
Handler
(Controller)로 전달하고, 결과를View
로 매핑하여 응답합니다. - 내부에
HandlerMapping
,HandlerAdapter
,ViewResolver
등을 포함합니다.
🔗 Url Handler Mapping
- 클라이언트 요청 URL을 어떤 Controller와 매핑할지 결정합니다.
- 예:
/user/list
→UserController
🪞 View Resolver
- Controller가 반환한 논리적 이름(viewName)을 물리적인 View로 변환합니다.
- 예:
"home"
→/WEB-INF/views/home.jsp
@Configuration
public class TilesConfiguration extends WebMvcConfigurerAdapter {
@Bean
public TilesConfigurer tilesConfigurer() {
final TilesConfigurer configurer = new TilesConfigurer();
configurer.setDefinitions(new String[] {"/WEB-INF/tiles/tiles.xml"});
configurer.setCheckRefresh(true);
return configurer;
}
@Override
public void configureViewResolvers(ViewResolverRegistry registry) {
TilesViewResolver viewResolver = new TilesViewResolver();
registry.viewResolver(viewResolver);
}
}
2. Spring MVC 전체 요청 흐름
- 클라이언트가 URL 요청
DispatcherServlet
이 요청을 수신- 내부
HandlerMapping
이 요청 URL에 맞는 Controller 결정 HandlerAdapter
를 통해 Controller 실행- Controller는
ModelAndView
또는 ViewName 반환 ViewResolver
가 ViewName을 실제 View로 변환- 최종적으로
DispatcherServlet
이 View 렌더링하여 클라이언트에게 응답
🔗 참고 자료
728x90
'BackEnd > Spring Boot' 카테고리의 다른 글
Spring Boot 개발 중간 정리 (0) | 2023.04.15 |
---|---|
Spring boot Test Case (0) | 2023.04.15 |
Token JJWT (0) | 2023.04.15 |
json-simple 사용 (0) | 2023.04.15 |
HikariCP란? (0) | 2023.04.15 |