본문 바로가기
자바과정/JSP

JSP 장바구니(로그아웃, 페이지 4개, 빈 장바구니 처리, 아이디 공백처리)

by Parkej 2021. 3. 10.

 





// Login.jsp

<%@ page language="java" contentType="text/html; charset=EUC-KR"
	pageEncoding="EUC-KR"%>

<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>

<!-- 모든 세션종료 -->
<%
	session.invalidate();
%>

	<center>
		<h3>로그인</h3>
		<hr>
		<form method=post action="setProduct.jsp">
			<input type="text" name="txt"> 
			<input type="submit" value="로그인">
		</form>
	</center>
</body>
</html>

// setProduct.jsp

<%@ page language="java" contentType="text/html; charset=EUC-KR"
	pageEncoding="EUC-KR"%>

<%
request.setCharacterEncoding("EUC-KR");
String name = "";
session.setAttribute("name", request.getParameter("txt")); // txt에 입력된 값을 session에 저장
if (session.getAttribute("name") == "") { // txt에 아무값도 입력되지 않았을 때
	out.print("<script>alert(\"아이디가 입력되지 않았습니다. 다시 입력해주세요.\"); history.back();</script>");
} else { // 입력되엇으면 name 변수에 저장
	name = (String) session.getAttribute("name");
}
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>

	<div align="center">
		<h3>상품선택</h3>
		<hr>
		<!--  로그인 기록  -->
		<%
		out.print(name);
		out.print("님이 로그인 한 상태입니다.");
		%>
		${name};
		<hr>
		<!-- 드롭다운, 추가버튼 -->
		<form method = post action = "add.jsp">
		
		<!-- 드롭다운 -->
		<select name = "fruit">
		<option selected>한라봉</option>
		<option >레몬</option>
		<option >오렌지</option>
		</select>
		
		<!-- 버튼 -->
		<input type = "submit" value = "추가">
		</form>
		
		<a href="checkOut.jsp">계산</a>
		
	</div>
</body>
</html>

// add.jsp

<%@ page language="java" contentType="text/html; charset=EUC-KR"
	pageEncoding="EUC-KR"%>
<%@ page import="java.util.*"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>

<%
	request.setCharacterEncoding("EUC-KR");
%>

<!-- 리스트 선언 -->
	<%
	ArrayList<String> flist = (ArrayList) session.getAttribute("fruit"); // 어레이 리스트를 세션에 추가
	String fruits = request.getParameter("fruit"); // 체크된 과일의 파라미터를 fruits 변수에 저장

	if (flist == null) { // 리스트 처음 생성시 즉, 장바구니에 과일을 처음 담았을때 
		flist = new ArrayList<>(); // 새로운 리스트 객체 생성
		session.setAttribute("fruit", flist);
		
	}
	
	flist.add(fruits);
	
	%>

	<script>
alert("<%=fruits %>이 추가되었습니다.");
history.back();
</script>


</body>
</html>

// checkOut.jsp

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<%@ page import="java.util.*"%>

<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<div align = "center">
<h2>계산</h2>
<br>
<a>선택한 상품 목록</a>
<br>
<b>'<%=session.getAttribute("name") %>'의 장바구니</b>
<hr>

		<!-- 코드입력 -->
		<%
		ArrayList<String> flist = (ArrayList) session.getAttribute("fruit");
		
		// 장바구니 리스트가 비어있을때
		if (flist == null) {
			out.print("<script>alert(\"장바구니가 비어있습니다. 과일을 선택해주세요.\"); history.back();</script>");
		} else {
		// 리스트가 비어있지 않을 시 장바구니에 있는 값 출력
			for (int i = 0; i < flist.size(); i++) {
				out.println(flist.get(i) + "<br>");
			}
		}
		%>

		<input type = "button" onclick = "history.back()" value = "뒤로가기"> 
		<form method = post action = "Login.jsp">
		<input type = "submit" value = "로그아웃">
		</form>
		
		<!-- 
		<input type = "button" onclick = "location.href= 'sessionExit.jsp' "value = "로그아웃">
 		-->

</div>

</body>
</html>
반응형

'자바과정 > JSP' 카테고리의 다른 글

JSP 실습 Template  (0) 2021.03.10
JSP 실습 application과 session (scope)  (0) 2021.03.10
JSP 예습겸 Scope  (0) 2021.03.08
JSP 오늘의 강의내용 끄적...  (0) 2021.03.08
JSP 구구단 (자바코드)  (0) 2021.03.08

댓글