728x90
반응형
1. index.jsp (표지 페이지)
로그인 <form>을 제공
이름(uname)을 입력하고 main.jsp로 이동
method="post"
2. main.jsp
uname님, 반갑습니다! :D
물건을 구매하는 <form>을 제공
5가지의 물건 <select> - 갯수나 재고 신경x
<a>구매하기</a>
3. add.jsp
구매한 물건을 장바구니에 추가하는 로직
장바구니 : 브라우저를 종료하면 사라지는 객체 ( session에 저장)
로직을 수행완료하면 다시 main.jsp로 이동
4. result.jsp
지금까지 장바구니에 담긴 모든 물건을 화면에 출력
+) 단, 유효성 검사를 수행해주세요!
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>표지 페이지</title>
</head>
<body>
<form action="main.jsp" method="post">
<input type="text" name="uname">
<input type="submit" value="로그인">
</form>
</body>
</html>
main.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%request.setCharacterEncoding("UTF-8");
String uname=request.getParameter("uname");
session.setAttribute("uname", uname);
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>메인 페이지</title>
</head>
<body>
<%= session.getAttribute("uname") %>님, 반갑습니다! :D
<form action="add.jsp" method="post">
<select name="product">
<option>사과</option>
<option>빠삐코</option>
<option>수박</option>
<option>새우깡</option>
<option>감자칩</option>
</select> <input type="submit" value="장바구니에 추가하기">
</form>
<hr>
<a href="result.jsp">구매하기</a>
</body>
</html>
add.jsp
<%@page import="java.util.ArrayList"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>장바구니에 물건을 추가하는 로직(화면출력x)</title>
</head>
<body>
<%
request.setCharacterEncoding("UTF-8");
String Product=request.getParameter("product");
ArrayList <String> arr=(ArrayList)session.getAttribute("productList");
//session에 저장된 장바구니를 불러오는 코드
//productlist를 세션이 가져온다
//리스트가 없을때 새로운 리스트를 생성해라
if(arr==null){
arr= new ArrayList <String>();
session.setAttribute("productList", arr);
}
arr.add(Product);
%>
//"이름 " ,객체 or 내용
<script type="text/javascript">
alert("<%=request.getAttribute("product")%>이(가) 장바구니에 추가되었습니다!");
history.go(-1);
</script>
</body>
</html>
result.jsp
<%@page import="java.util.ArrayList"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
request.setCharacterEncoding("UTF-8");
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>결제 페이지</title>
</head>
<body>
<h1><%=session.getAttribute("uname")%>님이 구매한 상품 목록
</h1>
<hr>
<ol>
<%
ArrayList<String> arr = (ArrayList) (session.getAttribute("productList"));
if (arr == null) {
System.out.println("구매한 상품이 없습니다!");
} else {
for (String i : arr) {
out.println("<li>" + i + "<li>");
}
}
arr.removeAll(arr); //목록 출력 후 removeAll 메서드 사용해서 장바구니를 비운다.
%>
</ol>
</body>
</html>
728x90
반응형
'JSP' 카테고리의 다른 글
[JSP] 자바빈즈 (0) | 2022.08.03 |
---|---|
[JSP] application을 이용한 SNS 예제 (0) | 2022.08.02 |
[JSP] 내장 객체 request, response, out, session, application, exception (0) | 2022.08.02 |
[JSP] 에러페이지 처리, include 지시어, 액션, forward 액션, 스크립트릿 (0) | 2022.08.02 |
[JSP] 다양한 방식으로 계산기 구현하기 (JSP, Servlet, JAVA, HTML) (0) | 2022.08.01 |