스프링에서의 요청 처리 순서
① 요청(Request)이 브라우저에서 떠나면서 사용자가 요구하는 내용을 전달한다.
하나의 프런트 컨트롤러 서블릿에서 요청을 처리하는데, 단일 프런트 컨트롤(DispatcherServlet)라는 단일 서블릿이 실제 처리를 수행하기 위해 다른 컴포넌트에 대한 요청 책임을 위임하는 웹 애플리케이션의 일반적인 패턴을 제공한다.
② DispatcherServlet은 요청을 전달할 컴포넌트를 선택하기 위해 핸들러 매핑(Handler Mapping)에 도움을 요청한다.
③ 적절한 컨트롤러가 선택이 되면 해당 컨트롤러로 요청을 보낸다.
컨트롤러에서 적당한 로직을 타고 로직의 결과물이 사용자의 브라우저에 표시되기 위한 형태의 정보로 변환된다. → 모델
④ 모델과 뷰를 포함하여 DispatcherServlet에 요청을 돌려보낸다.
이 때, 뷰 이름은 직접적으로 특정 jsp를 의미하는 것은 아니며, 실제 뷰를 찾아내는데 필요한 논리적인 이름이다.
⑤ DispatcherServlet은 뷰 리졸버에게 논리적으로 주어진 뷰의 이름과 실제로 구현된 뷰를 매핑해 줄 것을 요청한다.
⑥ jsp로 모델 데이터를 전달한다.
⑦ 뷰에서 모델 데이터를 이용해 결과를 렌더링하고 응답 객체(Response)에 의해 클라이언트로 전달된다.
|
이 포스트는 스프링 인 액션을 읽고 개인적으로 필요하다고 생각되는 내용을 정리한 포스트입니다. 일부 내용, 소스코드는 스프링 인 액션의 내용일 수 있습니다. |
반응형
'🌱 SPRING > 스프링 인 액션' 카테고리의 다른 글
스프링 뷰 리졸버 정의하기 (0) | 2018.06.13 |
---|---|
스프링 MVC 세팅 (0) | 2018.05.30 |
어드바이스에서 파라메터 처리 (0) | 2018.05.26 |
@Around (0) | 2018.05.26 |
애스펙트 정의하기 (0) | 2018.05.26 |