Skip to content

jeongjayun/DBjsp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 

Repository files navigation

DB🖤💎 ver. jsp & mvc2

의류 쇼핑몰 제작

image

목차

  1. 프로젝트 개요
  2. 사용 기술
  3. 프로젝트 설계
  4. 프로젝트 주요 기능
  5. 개인 내용
  6. 느낀점

1. 프로젝트 개요

  • 프로젝트 소개 : 쇼핑몰 웹 사이트 구현
  • 개발인원 : 4명
  • 역할 : 데이터베이스, 장바구니 및 결제 페이지, 주문내역
  • 개발기간 : 2023. 04. 10 - 2023. 04.21

2. 사용기술

Front End

Back End

DataBase

IDE

3. 프로젝트 설계

데이터베이스

image imageimageimageimageimageimage

4. 프로젝트 주요 기능

주요 기능 및 실행화면
  • 메인 화면 및 로그인 하지 않은 상태

vidimage eoplayback

  • 회원가입과 로그인(유효성 검사)

videoplayback-2

image

  • sha256 비밀번호 인코딩되어 저장됨

  • 상품 검색

videoplayback-3

  • 마이페이지

videoplayback-4

  • 게시판 이용

videoplayback-5

  • 관리자 페이지

videoplayback-6

5. 개인 내용

상세도

image

장바구니에서 결제페이지까지 코드를 작성했습니다.

트러블슈팅

public int insertOrder(ArrayList<CartVO> listCart, String userid, int total) {
		int maxOrderNumber = 0;

		Connection conn = null;
		PreparedStatement pstmt = null;
		ResultSet rs;

		try {

			conn = DBManager.getConnection();
			String selectMaxOrderNumber = "select max(orderNumber) from orders";
			pstmt = conn.prepareStatement(selectMaxOrderNumber);
			rs = pstmt.executeQuery();

			if (rs.next()) {
				maxOrderNumber = rs.getInt(1);
			}

			pstmt.close();

			String insertOrder = "insert into orders(orderNumber,userid)
							values(" + "orders_seq.nextval,?)";
			pstmt = conn.prepareStatement(insertOrder);
			pstmt.setString(1, userid);
			pstmt.executeUpdate();

			for (CartVO cartVO : listCart) {
				insertOrderDetail(cartVO, maxOrderNumber + 1, total);
			}

			System.out.println("insertOrder (OrderDAO) 실행(+)");

		} catch (Exception e) {
			// TODO: handle exception
			System.out.println("insertOrder(OrderDAO) error : " + e);
		} finally {
			DBManager.close(conn, pstmt);
		}
		return maxOrderNumber + 1;
	}
  1. orders, order_detail 테이블을 분리하여 주문페이지 와 주문내역 페이지에서 필요한 내용만 가져와 화면에 반환하고 합쳐야 할 경우에는 가상테이블 view join 쿼리를 이용해서 가져왔습니다. 그런 중 '주문하기' 기능 수행 중에 orders의 번호가 1부터 시작하는 것에 반해 orders_detail의 번호가 0부터 시작하는 에러를 마주쳐 임시방편으로 오류 수정하였습니다.

6. 느낀점

java, mvc2 패턴을 이용한 쇼핑몰을 처음에 우리가 만들 수 있을까하고 반신반의 하는 마음이 컸습니다. java로 별찍기, 이클립스 콘솔창에 입력한 내용을 출력하기를 했던게 엊그제 같았는데 코드가 돌아가는 모습을 보니 무척 신기합니다.

수업 시간에 MCV1, MVC2 패턴을 이용하여 각각 CRUD 기능을 구현해봤는데 첫 프로젝트 때와 비교하여도 MVC2 패턴이 팀원들과 협업 시 기능을 나누고 합치기 편리했습니다. 이번 프로젝트에서는 데이터베이스와 장바구니 및 결제 페이지 등을 맡아서 진행 했었는데 프로젝트 내에서 CRUD 기능을 충분히 연습하지 못한 것 같아서 아쉬움이 남습니다.

다음 프로젝트는 Spring을 이용하여 이번 프로젝트를 이어서 보다 보완할 수 있도록 노력하겠습니다.

About

국비학원 수강 중 만든 JSP 웹 프로젝트(쇼핑몰) 입니다.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published