Backend/Spring Boot 2

Spring MVC의 Front Controller 패턴과 Adapter 패턴

이번 포스팅에서는 Spring MVC에서 사용되는 디자인 패턴 중 Front Controller 패턴과 Adapter 패턴에 대해 알아보자. Front Controller 패턴 front controller는 모든 요청에 대해 공통으로 처리해야 하는 로직을 수행한 뒤, 요청에 따라 다르게 처리해야 하는 내용은 요청에 맞는 controller에게 처리를 위임한다. Spring MVC의 DispatcherServlet이 front controller의 역할을 한다. HttpServlet 클래스를 상속받은 DispatcherServlet은 모든 url 경로(”/”)에 대해 매핑된 서블릿으로 동작한다. 따라서 모든 url 경로에서 들어오는 요청을 DispatcherServlet이 가장 먼저 처리한 뒤, 요청에 ..

Backend/Spring Boot 2023.12.18

코드 분석을 통해 알아보는 스프링 MVC 동작 과정

이번 포스팅에서는 클라이언트의 HTTP 요청을 받아 컨트롤러가 요청을 처리하고, 그 결과로 HTML 응답이 반환되어 화면이 그려지는 사이에 스프링 MVC 프레임워크가 어떻게 동작하는지 코드를 분석하며 중요한 로직 위주로 알아볼 것이다. 모든 코드를 line by line으로 설명하면 글이 너무 길어지고 산만해지기 때문에 주요 흐름을 제외한 코드들을 상당 부분 생략했다. 1. 클라이언트로부터 HTTP 요청을 받아 DispatcherServlet 클래스의 doService() 메소드가 호출된 후, doService() 메소드 내부에서 doDispatch() 메소드가 호출된다. DispatcherServlet 클래스 https://github.com/spring-projects/spring-framework/..

Backend/Spring Boot 2023.10.13