관리 메뉴

클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지

[쇼핑몰 홈페이지 제작] 주문 처리와 게시판 1 - 전반적인 흐름 분석하기 및 장바구니 담기 본문

웹 · 앱 개발/JSP & Servlet

[쇼핑몰 홈페이지 제작] 주문 처리와 게시판 1 - 전반적인 흐름 분석하기 및 장바구니 담기

huenuri 2024. 12. 23. 20:06

이번 장에서는 상품에 대한 고객의 주문 과정과 Q&A 1:1: 게시판을 작성하는 방법을 학습하겠다.


 

 

 

 

 

전반적인 흐름 분석하기

Nonage Shop은 비회원인 경우 장바구니, 주문을 사용할 수 없도록 할 것이다. 주문 결제 방식도 무통장 입금으로 할 것이며 앞으로 배울 관리자가 입금을 확인을 하는 방식으로 처리된다. 
장바구니는 쿠키나 세션으로 처리하는 방법이 있지만 쿠키는 보안상의 문제점이 있을 수 있고 세션은 메모리에 부담을 주기 때문에 Nonage Shop은 데이터베이스로 처리하는 방식을 취하겠다. 일단 장바구니를 선택하면 장바구니(cart) 테이블에 저장을 하고 고객이 주문을 하면 cart 테이블에 있는 데이터가 주문 테이블에 저장이 되고 cart 테이블의 데이터를 
삭제한다.

 

▼ 장바구니 확인 화면

로그인 후 상품 상세 화면에서 장바구니에 상품을 담게 되면 다음과 같이 장바구니 확인 화면으로 이동한다. 장바구니에 담기 상품의 수량과 가격을 확인하는 한 후에 쇼핑을 계속하거나 장바구니에 담긴 상품을 주문할 수 있게 된다. 「주문하기」 버튼을 클릭하면 장바구니에 들어있는 상품이 주문 처리되고 진행 중인 주문 리스트 화면으로 이동한다.

 

 

 

▼ 주문 확인 화면

주문 처리가 완료되었음을 표시하는 화면입니다


 

 

 

 

 

장바구니 담기

장바구니와 주문 처리를 위해 관련된 부분을 진행해 보도록 하겠다. 장바구니에 상품을 담기 위해서는 데이터베이스의 cart 테이블에 정보를 저장해야 한다. 그러기 위해서는 cart 테이블을 처리하기 위한 DAO를 작성해야 한다. 장바구니에 상품을 담기 위한 DAO를 만들기 위해서 장바구니 정보를 담을 VO부터 만든다. 


 

 

 

[직접 해보기] 이클립스에서 장바구니 정보를 저장하는 VO 클래스 만들기


 

 

 

 

[직접 해보기] 장바구니 테이블을 액세스하는 DAO 클래스 만들기

장바구니 관리를 위한 CartDAO를 만들겠다.

 

 

주문 처리를 하는 페이지들을 위한 mypage 폴더를 만듭니다. 이 폴더에 공통적으로 들어가
는 파일들을 살펴보도록 합시다.


 

 

 

 

[직접 해보기] 서브 페이지에서 이미지를 출력하는 파일

폴더를 만들고 다음과 같은 코드를 작성한다.

 

 

 

 


 

 

 

 

[직접 해보기] 서브 페이지에서 좌측 메뉴를 구성하는 파일

 

주문 처리를 위한 폼에 입력된 정보가 올바른지 판단하는 자바스크립트 파일을 WebApp의 하위 폴더인 mypage에 mypage.js란 이름으로 작성한다.

자바스크립트 파일은 이미 header.jsp 페이지에서 포함하고 있다.

 


 

 

 

 

 

[직접 해보기] 폼에 입력된 정보가 올바른지 판단하는 자바스크립트 파일


 

 

 

 

 

학습을 마치고

장바구니 기능을 구현하는 부분이 아직 남아있지만 우선 여기까지 학습을 종료한다. 그런 다음에는 상품을 처리하는 기능도 만들 수 있을 것 같다.