728x90
프론트 컨트롤러 패턴
- 특징
- 프론트 컨트롤러 서블릿 하나로 클라이언트의 요청을 받음
- 프론트 컨트롤러가 요청에 맞는 컨트롤러 찾아서 호출
- 공통 처리 가능
- 프론트 컨트롤러를 제외한 나머지 컨트롤러는 서블릿을 사용하지 않아도 됨
- 스프링 웹 MVC도 DispatcherServlet이 프론트 컨트롤러 패턴으로 구현되어져 있음
-
- 를 이용하면 하위 요청을 모두 받을 수 있음
단계별 도입
- 프론트 컨트롤로 도입
- 호출이 되면 프론트 컨트롤러에서 받아서 처리
- frontController에서 처리
- View 분리
- 각 View를 컨트롤러에서 직접 실행 하던것을 객체화 하여 경로만 넘겨주어 해당 객체에서 forward 수행을 함
- MyView 객체에서 처리
- Model 추가
- 각 컨트롤러에서는 논리 이름을 반환하고 프론트 컨트롤러에서 실제 물리 이름으로 처리
- 서블릿 종속성 제거
- viewResolver 객체에서 처리
- 물리적명에서 논리적명으로 변경한 이유
- path가 변경되어도 viewResolver쪽의 path만 변경하면 모두 적용 됨
- 단순화
- ModelView를 반환하는 것이 아닌 ViewName만 반환
- 유연성 추가
- 어댑터 패턴
- 다양한 방식의 컨트롤러를 처리할 수 있게 해주는 패턴
- 요청이 들어오면 핸들러 매핑 정보를 조회
- 매핑 정보를 토대로 어댑터 목록에서 어댑터를 조회
- 해당 어댑터가 핸들러(컨트롤러)를 실행하여 처리
- 어댑터 패턴
출처 : https://www.inflearn.com/course/스프링-mvc-1
스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 - 인프런 | 강의
웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., -
www.inflearn.com
'BackEnd 학습 > Spring Framework' 카테고리의 다른 글
| Spring(스프링) - 스프링 MVC 기본기능 (0) | 2023.06.22 |
|---|---|
| Spring(스프링) - 스프링MVC 구조이해 (0) | 2023.06.16 |
| Spring(스프링) -서블릿, JSP, MVC패턴 (1) | 2023.06.07 |
| Spring(스프링) - 서블릿 (0) | 2023.05.31 |
| Spring(스프링) - 웹 애플리케이션 이해 (0) | 2023.05.16 |