장바구니 만들기
파일명
1. Login.jsp
18 : 로그아웃 후, 다시 로그인 화면으로 돌아 왔을 때, 기존의 세션 scope를 종료 시켜줌
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=EUC-KR"> <title>쇼핑</title> </head> <body> <% request.setCharacterEncoding("UTF-8");%> <!-- 한글처리 --> <center> <h1>Shopping</h1> <hr> <% session.invalidate(); %> <!-- 다시 로그인 화면으로 돌아왔을 때, 기존의 세션 scope를 종료시켜준다. --> <form action="setProduct.jsp" method="post"> <!-- 2번째 페이지로 이동 --> Login : <input type="text" name = "id"> PassWord : <input type="password" name = "password"> <input type="submit" value="로그인"> </form> </center> </body> </html> | cs |
2. setProduct.jsp
15 ~ 29 : ID와 PASSWORD를 입력하지 않았을 때, 다시 첫화면으로 돌아가게 만들었다.
38 : 상품 목록 name = product
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <% request.setCharacterEncoding("UTF-8");%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=EUC-KR"> <title>상품</title> </head> <body> <%String id = request.getParameter("id");%> <%request.getSession().setAttribute("id", id); %> <!-- 로그인 제대로 안했을 시, 다시 앞의 페이지로 돌아가게 만듦 --> <% if(id==""){%> <script>alert("ID를 입력 해주세요."); history.back();</script> <% } %> <%String password = request.getParameter("password"); %> <%request.getSession().setAttribute("password", password); %> <% if(password==""){%> <script>alert("PASSWORD를 입력 해주세요."); history.back();</script> <% } %> <center> <%=id %>님이 로그인 되었습니다.<br> 상품을 선택하세요. <hr> <form action="add.jsp" method="post"> 상품 : <select name="product"> <option value="사과">사과</option> <option value="바나나">바나나</option> <option value="오렌지">오렌지</option> <option value="복숭아">복숭아</option> </select> <input type="submit" value="추가"> </form> <form name="go" action="checkOut.jsp" method="post"> <input type="submit" value="장바구니 가기"><br> </form> <form name="rest" action="Login.jsp" method="post"> <input type="submit" value="로그아웃"> </form> </center> </body> </html> | cs |
3. add.jsp
가져온 상품명을 product라는 변수에 저장 후,
15 : 세션에서 arr을 가지고 온다.
19 : 가져온 값이 null이라면 새로운 arraylist 추가한다. 추가 된 list는 다시 세션에 저장 된다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | <%@page import="java.util.ArrayList"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <% request.setCharacterEncoding("UTF-8");%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=EUC-KR"> <title>Insert title here</title> </head> <body> <%String product = request.getParameter("product"); %> <%String id = request.getSession().getAttribute("id").toString(); %> <% ArrayList<String> arr =(ArrayList)(session.getAttribute("arr")); %> <!-- "arr"이라는 속성을 세션에서 받아온다 --> <% if(arr==null){arr = new ArrayList<String>();} arr.add(product); session.setAttribute("arr", arr); /* 세션에 "arr"이름으로 arr을 속성으로 추가한다 */ %> <script> alert("상품이 추가되었습니다"); history.back()</script> </body> </html> | cs |
4. checkOut.jsp
세션에 저장 된 ArrayList를 가지고 와 화면에 보여준다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | <%@page import="org.apache.jasper.tagplugins.jstl.core.ForEach"%> <%@page import="java.util.ArrayList"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <% request.setCharacterEncoding("UTF-8");%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=EUC-KR"> <title>Insert title here</title> </head> <body> <% ArrayList<String> arr =(ArrayList)(session.getAttribute("arr")); String id = request.getSession().getAttribute("id").toString(); %> <center> <%= id %>님의 상품 목록<br><hr> <% for(String i : arr ){ %> <%=i %> <% } %> <br> <form action="Login.jsp" method="post"> <input type="button" value="돌아가기" onClick="history.back()"> <input type="submit" value="로그아웃"> </form> </center> </body> </html> | cs |
'Web Programming > JSP' 카테고리의 다른 글
[JSP] 자바빈을 이용한 회원가입 만들기 (4) | 2018.04.16 |
---|---|
[JSP] 한글 처리 (1) | 2018.04.15 |
[JSP] Error Page 이동 (0) | 2018.04.14 |
[JSP] sendRedirect() 메소드로 파라미터 값을 받아오기 (3) | 2018.04.13 |
[JSP] 영역(Scope)과 속성(Attribute) (1) | 2018.04.13 |