- Dispatcherservlet을 FrontController로 사용 ( 스프링이 알아서 등록해줌 )
- DS는 해당 컨트롤러에게 요청을 위임
- 컨트롤러는 데이터베이스로부터 필요한 데이터 가져옴
- 이 때 Repository(Store) 에서 DB접근
- Service는 비지니스 로직
- FrontController 가 알아서 필요한 요청에 따른 컨트롤러를 찾아서 그 요청을 위임해줌.
- Store는 CRUD기능 담당
!!!!!!!! 위 어노테이션이 붙는 클래스들은 Spring bean으로 Spring IoC Container에 의해 lifecycle이 관리됨.( 언제 생성, 소멸 될 지 )
------------------------------------------------------------------------------------------------------------------------
# DispatcherServlet - 요청 처리 절차
- FrontController의 DispatcherServlet 클래스는 SpringMVC가 제공하는 클래스
- DispatcherServlet은 클라이언트의 모든 요청을 받는다.
- HandlerMapping : ex) 회원컨트롤러, 제품컨트롤러 등등 요청( 제품 목록 보여주세요 )
- HandlerMapping에는 여러가지 매핑 방식이 있지만 지금은 requestmapping만 사용함.
- Controller B 에 요청( 제품 목록 보여주세요 )이 위임되면 Service 거쳐서 Store를 거쳐 DB에서 제품의 목록을 가져와서 그 제품목록에 대한 데이터들을 Model 이나 ModelAndView 라는 객체에 넣어서 반환 ( Model, ModelAndView 에서 데이터는 당연히 Model에 넣고 ModelAndView의 경우 이 데이터를 보내주는 View를 함께 적어줌.
- 그 데이터를 사용자에게 보여줘야한다. -> View
- View는 Servlet 클래스들이다. 이 프로젝트에서는 View 안쓰므로 바로 데이터를 JSON으로 클라이언트에게 응답.
- But 보통의 경우 ViewResolver 를 통해서 모델의 데이터를 담아서 그 결과를 보여주는 View 자체가 JSON 데이터를 보여주는 View 라고 이해하자! ( SPA )
ModelAndView는 실제 View의 JSP 정보를 갖고 있찌 않으며, ViewResolver가 논리적 이름을 실제 JSP이름으로 변환한다.
ModelAndView는 실제 View의 JSP 정보를 갖고 있찌 않으며, ViewResolver가 논리적 이름을 실제 JSP이름으로 변환한다.
본 자료를 참고하였습니다.
꾸준히 다시보자.
1. 220730
2. 220812
3. 220915
'Java, Spring > Spring5 기초 정리' 카테고리의 다른 글
4-5강 Web 프로그램 구현 실습(3) (0) | 2022.07.27 |
---|---|
4-3강 Web 프로그램 구현 실습(1)(2) (0) | 2022.07.27 |
4-1강 웹 아키텍처의 이해 (0) | 2022.07.26 |
3-3강 REST API의 이해 (0) | 2022.07.26 |
3-1강 Spring Boot의 이해 (0) | 2022.07.26 |