-
[JSP] 간단한 쇼핑몰 장바구니WEB/JSP 2022. 9. 20. 14:46
이번에는 jsp로 간단한 쇼핑몰 장바구니 기능을 구현해봤다. 아주아주 간단한 페이지이당..!
로그인 페이지 상품 선택 페이지 장바구니 페이지 기능
- 로그인
- 로그아웃
- 상품 선택
- 선택상품 확인
- 상품 수량 변경
- 선택상품 삭제
- 30초동안 액션이 없으면 자동 로그아웃
login.jsp
<%-- Created by IntelliJ IDEA. User: UserK Date: 2022-09-20 Time: 오전 9:44 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <% String name = (String)session.getAttribute("name"); if(name != null){ response.sendRedirect("setProduct.jsp"); } %> <html> <head> <title>Title</title> </head> <body> <center> <h2>로그인</h2> <hr> <form action="setProduct.jsp"> <input type="text" name="name" placeholder="이름" required> <input type="submit" value="로그인"> </form> </center> </body> </html>
logout.jsp
<%-- Created by IntelliJ IDEA. User: UserK Date: 2022-09-20 Time: 오전 11:11 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ page import="java.util.Enumeration" %> <html> <head> <title>Title</title> </head> <body> <% session.invalidate(); response.sendRedirect("login.jsp"); %> </body> </html>
setProduct.jsp
<%-- Created by IntelliJ IDEA. User: UserK Date: 2022-09-20 Time: 오전 9:44 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <% String name = request.getParameter("name"); if(name != null){ if(session.getAttribute("name") == null){ session.setAttribute("name", name); } }else{ if(session.getAttribute("name")== null){ response.sendRedirect("login.jsp"); }else{ name = (String)session.getAttribute("name"); } } session.setMaxInactiveInterval(30); // 초 단위 %> <center> <h2>상품선택</h2> <hr> <h3><%=name%>님이 로그인 한 상태 입니다.</h3> <hr> <form action="add.jsp"> <select name="product"> <option value="사과">사과</option> <option value="귤">귤</option> <option value="파인애플">파인애플</option> <option value="자몽">자몽</option> <option value="레몬">레몬</option> </select> <input type="submit" value="추가"> </form> <a href="checkOut.jsp">계산</a> <a href="logout.jsp">로그아웃</a> </center> </body> </html>
add.jsp
<%-- Created by IntelliJ IDEA. User: UserK Date: 2022-09-20 Time: 오전 9:44 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ page import="java.util.ArrayList" %> <% String name = (String)session.getAttribute("name"); if(name == null){ response.sendRedirect("login.jsp"); } String product = request.getParameter("product"); if(session.getAttribute("product") == null) { ArrayList<String> arr = new ArrayList<String>(); arr.add(product); session.setAttribute(product, 1); session.setAttribute("product", arr); }else{ ArrayList<String> arr = (ArrayList<String>) session.getAttribute("product"); if(!arr.contains(product)){arr.add(product); session.setAttribute(product, 1);} else{ int count = (int)session.getAttribute(product); session.setAttribute(product, count+1); } session.setAttribute("product", arr); } %> <html> <head> <title>Title</title> <script type="text/javascript"> const product = "<%=product%>"; alert(product + "가 추가 되었습니다!!"); location.href = "setProduct.jsp"; </script> </head> <body> </body> </html>
checkOut.jsp
<%-- Created by IntelliJ IDEA. User: UserK Date: 2022-09-20 Time: 오전 9:44 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ page import="java.util.ArrayList" %> <%@ page import="java.util.Collections" %> <% String name = (String)session.getAttribute("name"); %> <html> <head> <title>Title</title> </head> <body> <center> <h2><%=name%>님의 장바구니</h2> <h3>선택한 상품 목록</h3> <hr> <% if(name == null){ response.sendRedirect("login.jsp"); } if(session.getAttribute("product") != null){ ArrayList<String> arr = (ArrayList<String>) session.getAttribute("product"); for(int i = 0; i < arr.size(); i++) { int count = (int) session.getAttribute(arr.get(i)); String value = arr.get(i) + "-" + count + "개"; %> <h3><%=value%></h3> <button type="button"><a href="remove.jsp?val=<%=arr.get(i)%>&btn=add">+</a></button> <button type="button"><a href="remove.jsp?val=<%=arr.get(i)%>&btn=-">-</a></button> <button type="button"><a href="remove.jsp?val=<%=arr.get(i)%>&btn=x">X</a></button> <% } } %> <br> <button><a href="setProduct.jsp">목록</a></button> </center> </body> </html>
remove.jsp
<%-- Created by IntelliJ IDEA. User: UserK Date: 2022-09-20 Time: 오전 11:35 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ page import="java.util.ArrayList" %> <% String name = (String)session.getAttribute("name"); if(name == null){ response.sendRedirect("login.jsp"); } String productName = request.getParameter("val"); String btn = request.getParameter("btn"); ArrayList<String> arr = (ArrayList<String>) session.getAttribute("product"); int cnt = (int)session.getAttribute(productName); if(btn.equals("add")){ session.setAttribute(productName, cnt+1); }else if(btn.equals("-")){ session.setAttribute(productName, cnt-1); }else if(btn.equals("x")){ arr.remove(productName); session.setAttribute("product", arr); } response.sendRedirect("checkOut.jsp"); %> <html> <head> <title>Title</title> </head> <body> </body> </html>
728x90'WEB > JSP' 카테고리의 다른 글
JDBC&JSP 실습 (1) 2022.10.07 [JSP] 자바 useBean 액션태그 간단한 회원가입 (0) 2022.09.21 [JSP] JSP forward (0) 2022.09.19 [JSP] 구구단 (0) 2022.09.19 [JSP] 4가지 Scope (0) 2022.09.19