| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
- 스프링
- 서버
- oracle
- 프론트엔드
- 데이터베이스
- java
- jsp
- 미니정리
- 코드테스트
- MySQL
- spring
- 쿼리
- 디자인 패턴
- Next.js
- 자바스크립트
- BACK-END
- 프로그래머스
- 자바
- 알고리즘
- 백엔드
- web
- JavaScript
- jpa
- 코드 테스트
- 스프링부트
- SQL
- node.js
- 정리
- 프런트엔드
- 오라클
- Today
- Total
참치코더의 꿈 메모장
스프링 MVC 패턴, 프론트 컨트롤러 패턴 미니정리 본문
1. 스프링 MVC 패턴이란?
- 웹 요청을 처리하는데 사용하는 MVC 아키텍처를 스프링이 편리하게 지원해 주는 것
- Model(모델) -> 데이터, 비즈니스 로직
- View(뷰) -> 화면(UI)
- Controller(컨트롤러) -> 요청을 받아서 모델을 호출하고, 결과를 뷰에 전달
프론트 컨트롤러 패턴
- 스프링 웹, 스프링 부트 포함해서 근본은 프론트 컨트롤러 패턴이다.
요청 처리 전체 흐름
- 브라우저 -> @RequestMapping("접속하고자 하는 url"), 빈 등록 -> DispatcherServlet
-> 핸들러 매핑(RequestMappingHandlerMapping) -> 핸들러 어댑터 호출(RequestMappingHandlerAdapter)
-> (인자 바인딩) 컨트롤러 실행 -> (반환값 처리) Model & View 생성 -> 뷰 리졸버 -> 뷰 렌더링(JSP forward)
-> 응답 완료
브라우저 요청
│
▼
+---------------------+
| DispatcherServlet | ← 프론트 컨트롤러
+---------------------+
│
▼
+---------------------+
| HandlerMapping | ← 어떤 컨트롤러 호출할지 결정
+---------------------+
│
▼
+---------------------+
| HandlerAdapter | ← 호출 준비 (파라미터 바인딩 등)
+---------------------+
│
▼
+---------------------+
| Controller | ← 비즈니스 로직 처리
+---------------------+
│
▼
ModelAndView 반환
(뷰 이름 + 데이터)
│
▼
+---------------------+
| ViewResolver | ← 뷰 이름 → 실제 JSP 파일 경로
+---------------------+
│
▼
+---------------------+
| View (JSP) 렌더링 | ← 모델 데이터를 사용해 HTML 생성
+---------------------+
│
▼
브라우저 응답
아리송한 부분 정리
** mv.addObject("member", member);
- 스프링이 제공하는 ModelAndView를 통해 Model 데이터를 추가 할때는 addObject( )를 사용하면 된다.
- 이 데이터는 이후 뷰를 렌더링 할 때 사용된다.
** return new ModelAndView("new-form");
- new-form으로 이름을 등록하면 뷰 리졸버가 해당 이름으로 관련 뷰를 찾아서 할당 해준다.
'Spring' 카테고리의 다른 글
| Spring / MVC 패턴 - 요즘 사용하는 방식 (0) | 2025.09.09 |
|---|---|
| Spring / Thymeleaf 핵심 문법 미니 정리 (0) | 2025.09.07 |
| Spring / 서블릿 HttpResponse 미니 정리(json 데이터 전송) (1) | 2025.08.29 |
| Spring / HttpServletRequest JSON 데이터 받기 및 객체 변환 미니 정리 (0) | 2025.08.28 |
| Spring / Http 연결 및 서블릿 미니 정리 (1) | 2025.08.27 |