아무나개발하자

프론트 컨트롤러 패턴 소개1 본문

Spring

프론트 컨트롤러 패턴 소개1

개발천재나천재 2022. 7. 7. 09:52

프론트 컨트롤러 패턴 소개

프론트 컨트롤러 도입 전
프론트 컨트롤러 도입 후

 

FrontController 패턴 특징

프론트 컨트롤러 특징에 대해 설명하겠다. 이전 서블릿이나 jsp로 웹서비스를 만들때와 다르게 프론트 컨트롤러 서블릿 하나를 만들어서 모든 클라이언트의 요청을 받는다. 그러면 프론트 컨트롤러는 요청에 맞는 컨트롤러를 찾아서 호출하게 된다. 결국 입구를 하나로 만들고 모든 공통 처리를 프론트 컨트롤러에서 함으로써 나머지 컨트롤러들은 서블릿을 사용하지 않고도 구현이 가능해진다. 이제부터 v1~v5까지 점점 발전된 구조를 설명하겠다. 나중에 v3부터는 서블릿을 사용하지 않고도 컨트롤러 구현이 가능해진다. 

 

스프링 웹 MVC와 프론트 컨트롤러

1. 스프링 웹 MVC의 핵심도 바로 FrontController

2. 스프링 웹 MVC의 DispatcherServlet이 FrontController 패턴으로 구현되어 있음

 

프론트 컨트롤러 도입 - v1

구조를 바꿀때는 구조만 바꾸자 한번에 모든것을 바꾸려고 하지말자!

v1

클라이언트가 프론트 컨트롤러에 HTTP 요청을 하게되면 프론트 컨트롤러에서는 Map을 통해 uri에 따른 알맞은 컨트롤러를 찾는다. 찾고 해당 컨트롤러가 실행된다. 컨트롤러에서는 비즈니스 로직을 실행하고 JSP로 forward를 한다.

코드 : refactor : 프론트 컨트롤러의 도입

아래에 표기한 코드를 보면서 다시 복습하자!

https://github.com/dlqjagml/spring/commits/master

출처 : https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1

 

'Spring' 카테고리의 다른 글

HTTP 메시지 컨버터2  (0) 2022.07.16
HTTP 메시지 컨버터  (0) 2022.07.14
프론트 컨트롤러 패턴 소개4  (0) 2022.07.10
프론트 컨트롤러 패턴 소개3  (0) 2022.07.09
프론트 컨트롤러 패턴 소개2  (0) 2022.07.08