JSP
[JSP] session 예제 (장바구니)
에띠
2022. 5. 23. 18:58
728x90
장바구니 페이지 7_basket.jsp
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>장바구니</title>
<script>
function payment() {
alert("결제페이지로 이동합니다.");
location.href="7_basket_payment.jsp";
}
</script>
</head>
<body>
<h2>장바구니</h2>
<form method="post" action="7_basket_ok.jsp">
<p>
<select name="product">
<option value="가방">가방</option>
<option value="라면">라면</option>
<option value="계란">계란</option>
<option value="다이슨청소기">다이슨청소기</option>
<option value="삼성핸드폰">삼성핸드폰</option>
</select>
</p>
<hr>
<p>
<input type="submit" value="추가">
<input type="button" value="결제" onclick="payment()">
</p>
<hr>
<p>
<%
List<String> list = (List)session.getAttribute("productList");
if (list != null) {
for (String product : list) {
out.print(product + " ");
}
}
%>
</p>
</form>
</body>
</html>
상품 추가 페이지 7_basket_ok.jsp
<%@page import="java.util.ArrayList"%>
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
request.setCharacterEncoding("UTF-8");
String product = request.getParameter("product") == null ? "" :
request.getParameter("product");
List list = (List)session.getAttribute("productList");
if (list == null) {
list = new ArrayList();
}
list.add(product);
session.setAttribute("productList", list);
%>
<script>
alert("<%=product %> 상품이 장바구니에 추가 되었습니다.");
location.href = "7_basket.jsp";
</script>
결제 페이지 7_basket_payment.jsp
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
List<String> list = (List)session.getAttribute("productList");
if (list != null){
int sum = 0;
for (String product : list) {
if ("가방".equals(product)) {
sum += 100000;
} else if ("라면".equals(product)) {
sum += 1500;
} else if ("계란".equals(product)) {
sum += 8000;
} else if ("다이슨청소기".equals(product)) {
sum += 150000;
} else if ("삼성핸드폰".equals(product)) {
sum += 1250000;
}
}
%>
<script>
if (confirm('<%=sum%>원을 결제하시겠습니까?')) {
alert('결제가 성공적으로 완료되었습니다.\n장바구니를 초기화합니다.');
location.href="7_basket_invalid.jsp";
} else {
alert('결제를 취소했습니다.');
history.back();
}
</script>
<%
} else {
%>
<script>
alert('결제할 상품이 없습니다.');
</script>
<%
}
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
</body>
</html>
장바구니 초기화 페이지 7_basket_invalid.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
session.invalidate();
response.sendRedirect("7_basket.jsp"); // loaction.href랑 비슷
%>
728x90