Spring 요청 처리 과정

밀크야살빼자·2024년 3월 18일
0


1. 클라이언트의 HTTP요청을 DispatcherServlet(프론트 컨트롤러)이 받습니다.
2. DispatcherServlet은 요청 처리를 위해 HandlerMapping에게 요청을 전달합니다.
3. HandlerMapping은 요청 정보를 통해 요청을 위임할 컨트롤러를 찾아서 DispatcherServlet에게 반환합니다.
4. DispatcherServlet은 요청을 컨트롤러로 위임할 HandlerAdapter를 찾아서 위임합니다.
5. HandlerAdapter는 컨트롤러로 요청하여 비즈니스 로직을 처리합니다. Model 데이터와 View 이름을 반환합니다.
6. DispatcherServletViewResolver에게 View 이름을 전달하며 검색을 요청합니다.
7. ViewResolverView 이름을 실제 View 객체로 변환합니다.
8. DispatcherServletView를 실행하여 서버의 응답을 클라이언트로 반환합니다.

  • Spring MVC의 구성 요소
    • DispatcherServlet : 클라이언트의 요청을 받아들이고, 요청을 처리하기 위해 다른 구성 요소들을 호출합니다. Spring의 핵심 기술로 여러 요청을 DispatcherServlet 한 곳에서 처리하도록 한다.
    • HandlerMapping : 요청 URL과 일치하는 컨트롤러를 찾아주는 역할을 합니다.
    • Controller : 요청을 처리하는 비즈니스 로직을 수행하는 컴포넌트입니다.
    • Model : 컨트롤러가 처리한 결과를 저장하는 객체입니다.
    • ViewResolver : View 이름을 실제 View 객체로 변환해 주는 역할을 합니다.
    • View : 컨트롤러가 처리한 결과를 보여주는 역할을 합니다.

예를 들어,

웹브라우저에서 localhost:8080/hello-mvc를 들어가면 내장 톰캣 서버가 스프링한테 넘기면 스프링은 conroller에서 hello-mvc를 찾고 있으면 해당 메소드를 호출하고 model(name:spring)ViewResolver(View찾아주고 템플릿 엔진 연결 시켜줌)한테 넘기면 templates:hello-template.html을 찾아서 템플릿 엔진인 변환하고 해당 템플릿을 반환해줍니다.


참고 자료

profile
기록기록기록기록기록

0개의 댓글