Spring(41)
-
웹 경로 구조 정리: 정적 리소스, 뷰 템플릿 경로 구분
1. 상대경로 vs 절대 경로1) 상대경로 vs 절대경로상대경로(relative path): 현재 파일의 위치를 기준으로 경로를 지정하는 방식예: ../css/style.css, ./image/logo.png절대경로(absolute path): 웹 루트(/)를 기준으로 경로를 지정하는 방식예: /css/style.css, /images/logo.png2) 상대경로 문법 문법의미./file 현재 폴더의 file../file부모 폴더의 filefile기본적으로 ./file처럼 동작 (현재 폴더 기준)3) 언제 어떤 경로를 써야 할까?브라우저가 HTML을 로컬 파일로 직접 열 경우: 상대경로 사용 가능서버가 HTML을 응답으로 렌더링해줄 경우 (ex. 타임리프): 절대경로 사용이 안전함2. 정적 리소스와 뷰 ..
2025.05.09 -
8. 스프링 MVC 기본 기능
[목차]1. 요청 매핑 1) 요청 매핑2) @RequestMapping의 주요 애트리뷰트3) 경로변수 @PathVariable4) HTTP API 예제 2. HTTP 요청/응답 복습 1) HTTP 메시지 구조2) HTTP 요청/응답 데이터 전달 방식 3) HTTP 요청/응답 메시지 바디에 들어가는 데이터의 종류 3. HTTP 요청 메시지 조회 3-1. 요청 메시지의 시작라인, 헤더 조회3-2. 요청 메시지의 파라미터 조회 1) 요청 파라미터 전송 방식 2가지 2) @RequestParam3) @ModelAttribute3-3. 요청 메시지의 메시지 바디 조회 1) 단순 텍스트: @RequestBody + String 파라미터 2) JSON: @RequestBody + 객체 파라미터 4. HTTP 응답 메..
2025.05.08 -
7. 스프링 MVC의 HttpMessageConverter
[목차] 1. HttpMessageConverter란? 2. HttpMessageConverter 동작 시점3. HttpEntityMethodProcessor와 RequestResponseBodyMethodProcessor4. RequestMappingHandlerAdapter 동작 흐름 정리 1. HttpMessageConverter란? RequestMappingHandlerAdapter는 컨트롤러 메서드를 호출할 때 파라미터 처리와 리턴값 처리를 위해HandlerMethodArgumentResolver 리스트와 HandlerMethodReturnValueHandler 리스트를 순회하며파라미터 타입, 리턴 타입, 어노테이션 정보를 기반으로 적절한 구현체를 선택한다.이때, HttpMessageConve..
2025.05.02 -
6. 스프링 MVC의 RequestMappingHandlerAdapter
[목차]1. 어노테이션 기반 컨트롤러의 유연성: RequestMappingHandlerAdapter 1) 인터페이스 기반 컨트롤러 vs 어노테이션 기반 컨트롤러2) RequestMappingHandlerAdapter 2. HandlerMethodArgumentResolver1) HandlerMethodArgumentResolver2) 컨트롤러 메서드에 맞는 ArgumentResolver 조회3) HandlerMethodArgumentResolver 구현체 3. HandlerMethodReturnValueHandler 1) HandlerMethodReturnValueHandler2) 컨트롤러 메서드에 맞는 ReturnValueHandler 조회 3) 컨트롤러 메서드의 리턴 타입과 어노테이션에 따른 Ret..
2025.05.02 -
5. 스프링 MVC 구조 이해 (3) - 전체 흐름 정리
[목차]🌱 스프링 서버 부팅 과정🌱 DispatcherServlet의 HTTP 요청/응답 과정Part 1: HTTP 요청으로 DispatcherServlet 호출 Part 2: 요청에 맞는 핸들러 실행 과정Part 3: 뷰 랜더링 과정🌱 스프링 서버 부팅 과정1. ApplicationContext 생성 (스프링 DI 컨테이너 시작) 2. 스프링 컨테이너 초기화 단계에서 컴포넌트 스캔 ApplicationContext가 생성되면서 @ComponentScan이 동작@Component, @Controller, @Service, @Repository 등이 붙은 클래스를 찾아 빈으로 등록한다.빈 등록뿐 아니라 빈 생성 → 의존관계 주입 → 초기화 콜백까지 진행되며, 이 일련의 과정은 Spring Contai..
2025.05.01 -
5. 스프링 MVC 구조 이해 (2) - 스프링 MVC로 변환
[목차]직접 만든 MVC 프레임워크 → 스프링 MVC로 변환 1. 기존 컨트롤러: 인터페이스 방식의 컨트롤러 2. 스프링 MVC의 컨트롤러: 애노테이션 방식의 컨트롤러1) 애노테이션 기반 컨트롤러의 등장 배경2) @RequestMapping의 역할과 동작 방식3) 인터페이스 방식과의 비교 정리 (복습) 3. 스프링 MVC의 애노테이션 방식의 컨트롤러 사용하기 VERSION 1. 기본적인 사용법VERSION 2. 컨트롤러 통합하기 VERSION 3. 실용적인 방식으로 개선 1. 기존 컨트롤러: 인터페이스 방식의 컨트롤러 public class MemberFormControllerV3 implements ControllerV3 { @Override public ModelView process(M..
2025.04.29