요구사항 분석
상품 도메인 모델 : 상품 ID, 상품명, 가격, 수량
상품 관리 기능 : 상품 목록, 상품 상세, 상품 등록, 상품 수정
서비스 제공 흐름
디자이너 : 요구사항에 맞게 디자인, 결과물을 웹 퍼블리셔에게 넘김
웹 퍼블리셔 : 받은 디자인을 기반으로 HTML, CSS 만들어 개발자에게 제공
백엔드 개발자 : HTML 화면이 나오기 전까지 시스템 설계, 핵심 비즈니스 모델 개발 이후 HTML을 뷰 템플릿으로 변환해서 동적으로 화면을 그리고 웹 화면 흐름 제어
PRG Post/Redirect/Get
지금 개발한 컨트롤러는 상품 등록을 완료하고 웹 브라우저의 새로고침
>> 상품 중복 등록, 심각한 오류
해결
웹 브라우저의 새로고침
>> 마지막에 서버에 전송한 데이터를 다시 전송
상품 저장 후 뷰 템플릿으로 이동 x
>> 상품 상세 화면으로 리다이렉트 호출
>> 마지막에 호출한 내용이 GET/items/{id}
RedirectAttrivutes
저장이 잘 됐으면 상품 상세 화면에 저장되었습니다 메시지
리다이렉트할 때 status=true 추가
>> 뷰 템플릿에서 값이 있으면 저장되었습니다 메시지 출력
RedirectAttributes 사용하면 URL 인코딩, pathVariable, 쿼리 파라미터까지 처리해줌
>> redirect:/basic/items/{itemId}
>> pathVariable 바인딩 : {itemId}
>> 나머지는 쿼리 파라미터로 처리: ?status=true
출처 : 김영한, 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
'Spring' 카테고리의 다른 글
MVC / Thymeleaf - 스프링 통합과 폼 (0) | 2025.04.08 |
---|---|
MVC / Thymeleaf - 기본 기능 (0) | 2025.04.07 |
MVC / 기본 기능 (0) | 2025.04.04 |
MVC / 구조 이해 (0) | 2025.04.04 |
MVC / 프레임워크 만들기 (0) | 2025.04.02 |