일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Sts
- jakarta.mail
- 일단_해보는거야
- 프로그래머스
- 로그인과 장바구니 구현
- 인증코드로 비밀번호 변경 구현
- 다중 카테고리 구현
- jsp 프로젝트
- MVC
- jquery
- Oracle
- 스프링
- 고객센터 구현
- ajax
- 교보문고 따라하기
- 오라클
- 자바
- 세션
- 이메일로 인증코드 전송 구현
- Level 1
- Spring
- 코딩
- MySQL
- SESSION
- jsp
- json
- js
- 대분류/중분류/소분류
- java
- Spring MVC
감 잃지말고 개발하기
[JSP][MVC][Session] 세션을 이용한 도서 장바구니 구현하기 #1. 구현 흐름 정리하기 본문
세션을 이용해 사용자가 원하는 도서를 장바구니에 추가하고 이를 출력해 보며,
이와 더해 사용자가 입력한 배송지 정보를 쿠키로 생성해 출력하는 로직 기록하고자 한다.
개인 정보가 포함되어 있는 배송지 정보를 쿠키로 저장하는 건 보안상 위험한 일이지만, 쿠키 관련 복습을 위해 이렇게 구현해 보았다.
세션을 이용한 장바구니 구현을 위한 첫 단계로,
이번 포스팅에서는 전체적인 구현 흐름을 정리해 보도록 하겠다.
목표
♠ 세션과 쿠키를 사용할 수 있다.
구현 흐름 짚기
계획한 장바구니 관련 페이지 흐름은 다음과 같다.
파란색은 클라 딴,
빨간색은 서버 딴이다.
1. 도서 상세 페이지(jsp 페이지)
해당 페이지는 사용자가 도서 리스트 페이지에서 클릭한 특정 도서에 대한 상세 정보가 출력되는 페이지이다.
사용자가 해당 페이지에서 장바구니 추가 버튼을 누르면 해당 도서가 장바구니 세션에 저장된다.
2. 서버 딴
- 세션을 확인한다.
- 세션에 장바구니 속성을 확인하고 없으면 생성한다.
- 장바구니 속성에 도서 정보를 추가한다.
- 같은 브라우저임을 확인하는 용도로 세션 Id로 쿠키를 생성해 response 객체에 담아 보낸다.
- 도서 상세 페이지로 리다이렉트 한다.
3. 장바구니 페이지
해당 페이지는 사용자가 장바구니에 추가한 도서 목록들이 출력되는 페이지이다.
사용자가 해당 페이지에서 주문하기 버튼을 누르면 주문 페이지로 이동한다.
4. 서버 딴
- 요청 URL로 넘어오는 세션 쿠키를 가져온다.
- 세션을 확인한 후 장바구니 속성을 가져온다.
- 장바구니의 총 금액을 계산한다.
- 총 금액을 화면에 표시하기 위해 request 객체에 총 금액을 속성으로 공유한다.
- 주문 페이지로 포워딩한다.
5. 주문 페이지
해당 페이지는 사용자가 배송지 및 사용자 정보를 입력하는 페이지이다.
필요 정보를 다 입력한 후 결제하기 버튼을 누르면 주문 확인 페이지로 이동한다.
6. 서버 딴
- 요청 URL로 넘어온 세션 쿠키를 가져온다.
- 세션을 확인한 후 장바구니 속성을 가져온다.
- 장바구니의 총 금액을 계산한다.
- 사용자가 입력한 배송지 등의 정보를 쿠키로 생성하고 response 객체에 담아 보낸다.
- request 객체에 총 금액을 속성으로 공유한다.
- 주문 확인 페이지로 포워딩한다.
7. 주문 확인 페이지
해당 페이지는 사용자가 입력한 정보와 주문한 도서 정보가 출력되는 페이지이다.
사용자가 입력한 정보는 쿠키에서, 주문한 도서 정보는 세션에서 가져온다.
구현 결과물
아래는 위 구현 흐름에 따라 출력될 페이지와 정보들이다.
빨간색 박스는 쿠키에,
보라색 박스는 세션에,
주황색 박스는 request 영역에 저장된 정보들이 출력되는 부분이다.
장바구니 페이지
주문 페이지
주문 확인 페이지
이렇게 전체적인 구현 흐름과 최종적으로 구현될 페이지 모습을 살펴보았다.
다음 포스팅부터는 본격적으로 구현한 로직을 기록해 보도록 하겠다.
끝.
'JSP > MVC' 카테고리의 다른 글
[JSP][MVC][Session] 세션을 이용한 도서 장바구니 구현하기 #4. 장바구니 주문 구현하기(마지막) (0) | 2023.05.17 |
---|---|
[JSP][MVC][Session] 세션을 이용한 도서 장바구니 구현하기 #3. 장바구니 목록 구현하기 (0) | 2023.05.16 |
[JSP][MVC][Session] 세션을 이용한 도서 장바구니 구현하기 #2. 장바구니 추가 구현하기 (0) | 2023.05.15 |
[JSP] [MVC] [JAVA] 이메일 전송으로 회원 비밀번호 변경 구현하기 #5. 서버 딴 구현(마지막) (2) | 2023.04.25 |
[JSP] [MVC] [JAVA] 이메일 전송으로 회원 비밀번호 변경 구현하기 #4. 서버 딴 구현(2) & 비밀번호 변경 페이지 구현 (0) | 2023.04.25 |
[JSP] [MVC] [JAVA] 이메일 전송으로 회원 비밀번호 변경 구현하기 #3. 서버 딴 구현(1) (0) | 2023.04.25 |