1. v3의 한계
- 컨트롤러가 ModelView 객체를 매번 직접 생성해야 함 → 약간 번거롭다.
2. 개선 아이디어
- 모델은 파라미터로 전달, 컨트롤러는 단순히 논리 뷰 이름만 반환.
- 프론트 컨트롤러가 모델 객체를 미리 생성 후 컨트롤러에 전달.
3. 핵심 구조
public interface ControllerV4 {
String process(Map<String, String> paramMap, Map<String, Object> model);
}
- 반환값: 뷰 이름(String)
- model 파라미터: 프론트 컨트롤러가 미리 생성해서 제공.
4. 실행 흐름
- 프론트 컨트롤러가 model을 생성 후 컨트롤러에 넘김.
- 컨트롤러는 model에 데이터 추가 후 뷰 이름 반환.
- 프론트 컨트롤러가 뷰 리졸버 → MyView로 렌더링.
5. 회고
v3보다 훨씬 개발자가 작성하기 편리했다.
뷰 이름만 리턴하면 되고, 모델 객체도 그냥 받아서 쓰면 된다.
프레임워크가 ‘귀찮은 일’을 대신해주니 개발자는 핵심 비즈니스 로직에만 집중 가능하다.
'Spring' 카테고리의 다른 글
[Spring] MVC 10편 - 프론트 컨트롤러 v1~v5 정리 (1) | 2025.08.12 |
---|---|
[Spring] MVC 9편 - 프론트 컨트롤러 v5 (0) | 2025.08.12 |
[Spring] MVC 7편 - 프론트 컨트롤러 v3 (2) | 2025.08.12 |
[Spring] MVC 6편 - 프론트 컨트롤러 v2 (0) | 2025.08.12 |
[Spring] MVC 5편 - 프론트 컨트롤러 v1 (0) | 2025.08.12 |