JSP/BookMarket

장바구니 페이지 만들기

별초롱언니 2025. 5. 30. 17:45
<%@page import="dao.BookRepository"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.util.ArrayList" %>
<%@ page import="dto.Book" %>
<%@ page import="dao.BookRepository" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%
		String id = request.getParameter("id");
		if (id == null || id.trim().equals("")) {
			response.sendRedirect("books.jsp");
			return;
		}
		
		BookRepository dao = BookRepository.getInstance();
		
		Book book = dao.getBookById(id);
		if (book == null) {
			response.sendRedirect("exceptionNoBookId.jsp");
		}
		
		ArrayList<Book> goodsList = dao.getAllBooks();
		Book goods = new Book();
		for (int i = 0; i < goodsList.size(); i++) {
			goods = goodsList.get(i);
			if (goods.getBookId().equals(id)) {
				break;
			}
		}
		
		ArrayList<Book> list = (ArrayList<Book>) session.getAttribute("cartlist");
		if (list == null) {
			list = new ArrayList<Book>();
			session.setAttribute("cartlist",list);
		}
		
		int cnt = 0;
		Book goodsQnt = new Book();
		
		for (int i = 0; i<list.size(); i++) {
			goodsQnt = list.get(i);
			if (goodsQnt.getBookId().equals(id)) {
				cnt++;
				int orderQuantity = goodsQnt.getQuantity()+1;
				goodsQnt.setQuantity(orderQuantity);
			}
		}
		
		if ( cnt == 0 ) {
			goods.setQuantity(1);
			list.add(goods);
		}
		
		response.sendRedirect("book.jsp?id="+id);
	%>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.util.ArrayList" %>
<%@ page import="dto.Book" %>
<%@ page import="dao.BookRepository" %>
<!DOCTYPE html>
<html>
<head>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.6/dist/css/bootstrap.min.css" rel="stylesheet">
<script src="https://kit.fontawesome.com/705381df09.js" crossorigin="anonymous"></script>
<meta charset="UTF-8">
<%
	String cartId = session.getId();
%>
<title>장바구니</title>
</head>
<body>
<div class="container py-4">
	<%@ include file="menu.jsp" %>
	
	<div class="p-5 mb-4 bg-body-tertiary rounded-3">
		<div class="container-fluid py-5">
			<h1 class="display-5 fw-bold">장바구니</h1>
			<p class="col-md-8 fs-4">Cart</p>
		</div>
	</div>
	
	<div class="row align-items-md-stretch">
		
		<div class="row">
			<table width="100%">
				<tr>
					<td align="left"><a href="./deleteCart.jsp?cartId=<%=cartId%>" class="btn btn-danger">삭제하기</a></td>
					<td align="right"><a href="#" class="btn btn-success">주문하기</a></td>
				</tr>
			</table>
		</div>
		
		<div style="padding-top: 50px">
			<table class="table table-hover">
				<tr>
					<th>도서</th>
					<th>가격</th>
					<th>수량</th>
					<th>소계</th>
					<th>비고</th>
				</tr>
				
				<%
					int sum = 0;
					ArrayList<Book> cartList = (ArrayList<Book>) session.getAttribute("cartlist");
					if (cartList == null) {
						cartList = new ArrayList<Book>();
					}
					for (int i=0; i<cartList.size(); i++) {
						Book book = cartList.get(i);
						int total = book.getUnitPrice() * book.getQuantity();
						sum += total;
				%>
				
				<tr>
					<td><%=book.getBookId() %>-<%=book.getName() %></td>
					<td><%=book.getUnitPrice() %></td>
					<td><%=book.getQuantity() %></td>
					<td><%=total %></td>
					<td><a href="./removeCart.jsp?id=<%=book.getBookId() %>" class="badge text-bg-danger">삭제</a></td>
				</tr>
				<%
				}
				%>
				<tr>
					<th></th>
					<th></th>
					<th>총액</th>
					<th><%=sum %></th>
					<th></th>
				</tr>
			</table>
			<a href="./books.jsp" class="btn btn-secondary">&laquo; 쇼핑 계속하기</a>
		</div>
	</div>
	<%@ include file="footer.jsp" %>
</div>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="dto.Book" %>
<%@ page import="dao.BookRepository" %>

<%
	String id = request.getParameter("cartId");
	if (id == null || id.trim().equals("")) {
		response.sendRedirect("cart.jsp");
		return;
	}
	
	session.invalidate();
	response.sendRedirect("cart.jsp");
%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.util.ArrayList" %>
<%@ page import="dto.Book" %>
<%@ page import="dao.BookRepository" %>

<%
	String id = request.getParameter("id");
	if (id==null || id.trim().equals("")) {
		response.sendRedirect("books.jsp");
		return;
	}
	
	BookRepository dao = BookRepository.getInstance();
	
	Book book = dao.getBookById(id);
	if (book == null) {
		response.sendRedirect("exceptionNoBookId.jsp");
	}
	
	ArrayList<Book> cartList = (ArrayList<Book>) session.getAttribute("cartlist");
	Book goodsQnt = new Book();
	for (int i=0; i<cartList.size(); i++) {
		goodsQnt=cartList.get(i);
		if (goodsQnt.getBookId().equals(id)) {
			cartList.remove(goodsQnt);
		}
	}
	
	response.sendRedirect("cart.jsp");
	
%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="dto.Book" %>
<%@ page import="dao.BookRepository" %>
<%@ page errorPage = "exceptionNoBookId.jsp" %>
<%System.out.println("입장"); %>
<!DOCTYPE html>
<html>
<head>
<script src="https://kit.fontawesome.com/705381df09.js" crossorigin="anonymous"></script>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.6/dist/css/bootstrap.min.css" rel="stylesheet">
<link href="./resources/css/bootstrap.min.css"/>
<meta charset="UTF-8">
<title>도서 상세 정보</title>
<script type="text/javascript">
	function addToCart() {
		if (confirm("도서를 장바구니에 추가하시겠습니까?")) {
			document.addForm.submit();
		} else {
			document.addForm.reset();
		}
	}
</script>
</head>
<body>
<div class="container py-4">
	<%@ include file="menu.jsp" %>
	
	<div class="p-5 mb-4 bg-body-tertiary rounded-3">
		<div class="container-fluid py-5">
			<h1 class="display-5 fw-bold">도서정보</h1>
			<p class="col-md-8 fs-4">BookInfo</p>
		</div>
	</div>
	
	<%
		String id = request.getParameter("id");
		BookRepository dao = BookRepository.getInstance();
		Book book = dao.getBookById(id);
	%>
	
	<div class="row align-items-md-stretch">
		<div class="col-md-5">
			<img src="./resources/images/<%= book.getFileName()%>" style="width : 70%" />
		</div>
		<div class="col-md-6">
			<h3><b><%=book.getName() %></b></h3>
			<p> <%=book.getDescription() %>
			<p> <b> 도서코드 : </b><span class="badge text-bg-danger">
			<%=book.getBookId() %></span>
			<p> <b>저자</b> : <%=book.getAuthor() %> 
			<p> <b>출판사</b> : <%=book.getPublisher() %>
			<p> <b>출판일</b> : <%=book.getReleaseDate() %>
			<p> <b>분류</b> : <%=book.getCategory() %>
			<p> <b>재고수</b> : <%=book.getUnitsInStock() %>
			<h4><%=book.getUnitPrice() %>원</h4>
			<p> <form name="addForm" action="./addCart.jsp?id=<%=book.getBookId()%>" method="post">
				<p> <a href="#" class="btn btn-info" onclick="addToCart()">도서주문 &raquo;</a>
				<a href="cart.jsp" class="btn btn-warning">장바구니 &raquo;</a>
				<a href="books.jsp" class="btn btn-secondary">도서 목록 &raquo;</a>
			</form>
		</div>
	</div>
	<jsp:include page="footer.jsp" />
</div>
</body>
</html>