2022.08.12 JSP

sofiaยท2022๋…„ 8์›” 15์ผ
0

JAVA

๋ชฉ๋ก ๋ณด๊ธฐ
17/27
post-thumbnail

๐Ÿ“š๋ณต์Šต ๋ฌธ์ œ

๐Ÿ“–๋ฌธ์ œ1

์„ ์–ธ๋ถ€์— ๋ณ€์ˆ˜์— 377 ์ €์žฅ
returnํ•˜๋Š” getint()๋ฉ”์†Œ๋“œ ์ž‘์„ฑ
์ถœ๋ ฅ

<%@ 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>

	<%! 
		int a =337; 
	  	public int getint(){
			return a;
		}
	%>
	
	
	<% 
	
	out.println(getint()); 
	
	%>

</body>
</html>

๐Ÿ“–๋ฌธ์ œ2

ํ‘œํ˜„๋ฌธ ํƒœ๊ทธ์— java.util.Calendar ํด๋ž˜์Šค๋ฅผ ์ด์šฉํ•˜์—ฌ ๋‚ด์ผ ๋‚ ์งœ ์ถœ๋ ฅ

<%@page import="java.util.Calendar"%>
<%@ 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>
	<%--<p>
	tomorrow :
	 <%= Calendar.getInstance().getTime() %>
	</p> 
	--%>
	
	<%! public String calDate(){
		Calendar cal =Calendar.getInstance();
		String days="";
		String month="";
		String year="";
		
		cal.add(Calendar.DATE, 1);// ์˜ค๋Š˜ ๋‚ ์งœ์—์„œ ํ•˜๋ฃจ ๋”ํ•˜๊ธฐ
		
		cal.get(Calendar.DATE);//์บ˜๋ฆฐ๋”์—์„œ ๋‚ ์งœ ๋“ค๊ณ ์˜ค๊ธฐ 
		
		days = String.valueOf(cal.get(Calendar.DATE));
		month = String.valueOf(cal.get(Calendar.MONTH)+1);//1์›”์„ 0์œผ๋กœ ํ‘œ๊ธฐ ํ•˜๊ธฐ ๋•Œ๋ฌธ
		year = String.valueOf(cal.get(Calendar.YEAR));
		
		return year+"-"+month+"-"+days;
		
		}
	%>
	
	๋‚ด์ผ = <%= calDate() %>
	
</body>
</html>

๐Ÿ“š ์ง€์‹œ์ž(PPT Chapter 05)

๐Ÿ“˜์ง€์‹œ์ž์˜ ํ˜•์‹๊ณผ ์ข…๋ฅ˜

์ง€์‹œ์ž(๋””๋ ‰ํ‹ฐ๋ธŒ ํƒœํฌ)๋Š” JSP์—์„œ ํŽ˜์ด์ง€ ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ•์„ ์„ค์ •ํ•˜๋Š” ํƒœ๊ทธ

<%@ ์ง€์‹œ์ž ์†์„ฑ="๊ฐ’" . . . %>
1. page ์ง€์‹œ์ž

  • <%@ page ... %>
  • JSP ํŽ˜์ด์ง€์— ๋Œ€ํ•œ ์ •๋ณด ์„ค์ •
  • ์„ค์ •ํ•  ์ˆ˜์žˆ๋Š” ์†์„ฑ : anguage, extends, import, contentType
<%@page import="java.util.Date"%>
<%@ 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>
	<%!//์„ ์–ธ๋ถ€
		Date date = new Date();
	%>
	์˜ค๋Š˜์€
	<%= date.getYear() + 1900%>๋…„
	<%= date.getMonth()+1 %>์›”
	<%= date.getDate() %>์ผ์ž…๋‹ˆ๋‹ค.
</body>
</html>
  1. include
  • <%@ include ... %>
  • 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>
	<center>
		<hr>
		<i>sub01.jsp ํŒŒ์ผ์˜ ์‹œ์ž‘ ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค.</i>
		<br>
		<br>
			ํ•˜์ด! ๋ฐ˜๊ฐ€์›Œ์š”.
		<br>
		<br>
		<i>sub01.jsp ํŒŒ์ผ์˜ ๋งˆ์ง€๋ง‰ ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค.</i>
		<hr>
	</center>
</body>
</html>
<%@ 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>
	<center><h3>[ include ์ง€์‹œ์ž์— ๋Œ€ํ•œ ์˜ˆ์ œ ]</h3></center>
	<hr>
		์ž ์‹œ ํ›„๋ฅผ ๊ธฐ๋Œ€ํ•ด ์ฃผ์„ธ์š”.
	<br>
	....<br>
	....<br>
	....<br>
	<%@ include file="sub01.jsp" %>
	<br>	
	<br>	
		main01.jsp ํŒŒ์ผ๋กœ ๋Œ์•„์™”์Šต๋‹ˆ๋‹ค. 
	
	
</body>
</html>

  1. taglib
  • <%@ taglib ... %>
  • JSP ํŽ˜์ด์ง€์—์„œ ์‚ฌ์šฉํ•  ํƒœ๊ทธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ œ๊ณต

๐Ÿ“˜์—ฐ์Šต ๋ฌธ์ œ

๐Ÿ“–์—ฐ์Šต ๋ฌธ์ œ 1

page.jsp ํŒŒ์ผ ์ƒ์„ฑ
์ง€์‹œ์ž์— java.util.Date, java.lang.Math ํด๋ž˜์Šค๋ฅผ ์ด์šฉํ•˜์—ฌ ํ˜„์žฌ ๋‚ ์งœ์™€ 5์˜ ์ œ๊ณฑ์„ ์ถœ๋ ฅ

<%@page import="java.util.Date"%>
<%@page import="java.lang.Math"%>

<%@ 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>
	ํ˜„์žฌ ๋‚ ์งœ :
	<%=
		new Date()
	%>
	<br>
	5์˜ ์ œ๊ณฑ:
	<%=
		Math.pow(5, 2)
	%>
</body>
</html>

๐Ÿ“–์—ฐ์Šต ๋ฌธ์ œ 2

header.jspํŒŒ์ผ ์ƒ์„ฑ
(h4 ํƒœํฌ ์‚ฌ์šฉํ•ด์„œ 'Hello, Java Server pages.'๋ฅผ ์„ ์–ธ)
include.jsp ํŒŒ์ผ ์ƒ์„ฑ
(include ์ง€์‹œ์ž ์ด์šฉํ•ด์„œ ์™ธ๋ถ€ ํŒŒ์ผ header.jsp ๋‚ด์šฉ์„ ํฌํ•จ ์‹œํ‚ค๋ฉฐ, java.uttl.Calendar ํด๋ž˜์Šค๋ฅผ ์ด์šฉํ•˜์—ฌ ํ˜„์žฌ ์‹œ๊ฐ„ ์ถœ๋ ฅ

๐Ÿ“š request์™€ response ๊ฐ์ฒด (PPT Chapter 07)

(ppt Chapter 06์€ ๋„˜์–ด๊ฐ)

๐Ÿ“˜request ๊ฐ์ฒด / response ๊ฐ์ฒด

  • Request ๊ฐ์ฒด ๊ด€๋ จ ๋ฉ”์†Œ๋“œ

getContextPath() : ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ปจํ…์ŠคํŠธ ํŒจ์Šค๋ฅผ ์–ป์Œ

getRemoteAddr() : ์›๊ฒฉ ์ฃผ์†Œ(ip์ฃผ์†Œ)์„ ์–ป๋Š”๋‹ค

getMethod() : ํผ ์ž…๋ ฅ ํƒœ๊ทธ์—์„œ ๋ฉ”์†Œ๋“œ๋ฅผ get ๋ฐฉ์‹๊ณผ post ๋ฐฉ์‹์„ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋‹ค

์›๊ฒฉ ์ฃผ์†Œ(ip์ฃผ์†Œ) : ์„œ๋ฒ„ ์ด๋ฆ„์„ ์–ป๋Š”๋‹ค

getProtocol() : ํ•ด๋‹น ํ”„๋กœํ† ์ฝœ์„ ์–ป๋Š”๋‹ค

getRequestURL() : ์š”์ฒญ URL์„ ์–ป๋Š”๋‹ค

getRequestURI() : ์š”์ฒญ URI๋ฅผ ์–ป๋Š”๋‹ค

getQueryString() : ์ฟผ๋ฆฌ์ŠคํŠธ๋ง์„ ์–ป๋Š”๋‹ค

  • Response๊ด€๋ ฌ ๋ฉ”์†Œ๋“œ

sendRedirect(URL) : ์ง€์ •ํ•œ URL๋กœ ์ด๋™ํ•จ, ํŠน์ •์ƒํ™ฉ์— ์กฐ๊ฑด์— ๋”ฐ๋ผ ์›ํ•˜๋Š” ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•˜๊ฒŒ ํ•จ(๋กœ๊ทธ์ธ ์‹œ ๋น„ํšŒ์›์ด๋ฉด ํšŒ์›๊ฐ€์ž…ํŽ˜์ด์ง€๋กœโ€ฆ)

setIntHeader(name, value) : ํŠน์ • ํŽ˜์ด์ง€๋ฅผ ๋ช‡์ดˆ๋งˆ๋‹ค ์ƒˆ๋กœ๊ณ ์นจ

๐Ÿ“˜์˜ˆ์ œ ๋ฌธ์ œ

๐Ÿ“–์˜ˆ์ œ ๋ฌธ์ œ 1

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<blg>์ ‘์†ํ•œ ํด๋ผ์ด์–ธํŠธ์˜ ip : </blg>
<%= request.getRemoteAddr()%><br>
์„œ๋ฒ„์˜ ์ด๋ฆ„ : 
<%= request.getServerName()%><br>
์š”์ฒญ ๋ฐฉ์‹ :
<%= request.getMethod() %><br>
ํ”„๋กœํ† ์ฝœ :
<%= request.getProtocol() %><br>
์š”์ฒญํ•œ URL :
<%= request.getRequestURL() %> <br>
์š”์ฒญํ•œ URI :
<%= request.getRequestURI() %> <br>

๐Ÿ“–์˜ˆ์ œ ๋ฌธ์ œ 2 ๋กœ๊ทธ์ธ

<%@ 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>
	<%--post ๋ฐฉ์‹ --%>
	<form method="post" action="response01.process.jsp">
		<p>์•„ ์ด ๋”” : <input type="text" name="id"></p>
		<p>๋น„๋ฐ€๋ฒˆํ˜ธ : <input type="text" name="passwd"></p>
		<p><input type="submit" value="์ „์†ก"></p>
		
	</form>
</body>
</html>

=> ์‹ค์ œ ์ดํด๋ฆฝ์Šค ์‹คํ–‰์‹œ์—๋Š” ์œ„์˜ ํŒŒ์ผ์„ ์‹คํ–‰ ํ•ด์•ผํ•จ

<%@ 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>
	<%
		String userid = request.getParameter("id");
		String password = request.getParameter("passwd");
		
		if(userid.equals("aaa")&& password.equals("1234")){
			response.sendRedirect("response01_success.jsp");
		}else{
			response.sendRedirect("response01_failed.jsp");
		}
	%>
</body>
</html>
<%@ 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>
	๋กœ๊ทธ์ธ์„ ์„ฑ๊ณตํ–ˆ์Šต๋‹ˆ๋‹ค!!
</body>
</html>
<%@ 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>
	<p>๋กœ๊ทธ์ธ์„ ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค.</p>
	<p><a href="./response01.jsp">๋กœ๊ทธ์ธ ๊ฐ€๊ธฐ</a></p>
</body>
</html>

๐Ÿ“–์˜ˆ์ œ ๋ฌธ์ œ 3 ์ƒˆ๋กœ๊ณ ์นจ

<%@page import="java.util.Date"%>
<%@ 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>
	<p>์ด ํŽ˜์ด์ง€๋Š” 5์ดˆ๋งˆ๋‹ค ์ƒˆ๋กœ๊ณ ์นจ ๋ฉ๋‹ˆ๋‹ค.</p>
	<%
		response.setIntHeader("Refresh", 5);
	%>
	
	<p><%= new Date()%></p>
	
</body>
</html>

๐Ÿ“–์˜ˆ์ œ ๋ฌธ์ œ 4 ๋กœ๊ทธ์ธ(response ๊ฐ์ฒด)

์—ฌ๊ธฐ์— EUC-KR ๋ฅผ UTF-8๋กœ ๋ฐ”๊ฟ”์•ผํ•จ
(์ธ์ฝ”๋”ฉ)

๐Ÿ“˜์—ฐ์Šต ๋ฌธ์ œ

๐Ÿ“–์—ฐ์Šต ๋ฌธ์ œ 1

<%@page import="java.util.Calendar"%>
<%@ 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>
	<%
		response.setIntHeader("Refresh", 5);
		Calendar calendar = Calendar.getInstance();
		String am_pm;
		int hour = calendar.get(Calendar.HOUR_OF_DAY);
		int minute = calendar.get(Calendar.MINUTE);
		int second = calendar.get(Calendar.SECOND);
		
		if(calendar.get(calendar.AM_PM)==0){
			am_pm="AM";
		}else{
			am_pm="PM";			
		}
		
		String CT = hour+":"+minute+":"+second+" "+am_pm;
		out.println("ํ˜„์žฌ ์‹œ๊ฐ„์€ "+CT+"\n");
		
	%>

	<p><a href="./response_data.jsp">google ํ™ˆํŽ˜์ด์ง€๋กœ ์ด๋™ํ•˜๊ธฐ</a></p>
	
</body>
</html>
<%@ 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>
	<%
		response.sendRedirect("http://www.google.com");
	%>
</body>
</html>

๐Ÿ“š ์•ก์…˜ํƒœ๊ทธ (PPT Chapter 08)

๐Ÿ“˜์•ก์…˜ ํƒœ๊ทธ์˜ ์ข…๋ฅ˜

  • ์•ก์…˜ ํƒœ๊ทธ : JSP ํŽ˜์ด์ง€ ๋‚ด์—์„œ ์–ด๋–ค ๋™์ž‘์„ ํ•˜๋„๋ก ์ง€์‹œํ•˜๋Š” ํƒœ๊ทธ
  1. jsp:include
    JSP ํŽ˜์ด์ง€ ๋‚ด์— ๋‹ค๋ฅธ ํŽ˜์ด์ง€๋ฅผ ์‚ฝ์ž…
  2. jsp:forward
    forward๋Š” ํ˜„์žฌ ํŽ˜์ด์ง€๋ฅผ ๋‹ค๋ฅธ ํŽ˜์ด์ง€๋กœ ์ „ํ™˜ํ•  ๋•Œ ์‚ฌ์šฉ
<jsp:forward page="yellow.jsp"></jsp:forward>

  1. jsp:param
    forward ์•ก์…˜ํƒœ๊ทธ์™€ param์„ ์ด์šฉํ•ด์„œ ๋‹ค๋ฅธ ํŽ˜์ด์ง€์— ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌ
<%@ 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 bgcolor="red">
	<center><h3>[ forward ์•ก์…˜ ํƒœ๊ทธ์— ๋Œ€ํ•œ ์˜ˆ์ œ ]</h3></center>
	<hr>
		์ด ํŒŒ์ผ์€ red.jsp์ž…๋‹ˆ๋‹ค.<br>
		์›น ๋ธŒ๋ผ์šฐ์ €์— ๋ฐฐ๊ฒฝ์ƒ‰์ด ๋นจ๊ฐ„์ƒ‰์œผ๋กœ ๋‚˜ํƒ€๋‚ ๊นŒ์š”?<br>
		๋…ธ๋ž€์ƒ‰์œผ๋กœ ๋‚˜ํƒ€๋‚ ๊นŒ์š”?<hr>
		forward ์•ก์…˜ ํƒœ๊ทธ๊ฐ€ ์‹คํ–‰๋˜๋ฉด ์ด ํŽ˜์ด์ง€์˜ ๋‚ด์šฉ์€ ์ถœ๋ ฅ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.<br>
		<jsp:forward page="yellow2.jsp">
			<jsp:param value="red2.jsp" name="url"/>
			<jsp:param value="Happp New Years!" name="news"/>
		</jsp:forward>
</body>
</html>

๐Ÿ“˜์—ฐ์Šต ๋ฌธ์ œ

๐Ÿ“–์—ฐ์Šต ๋ฌธ์ œ 1

forward.jsp ํŒŒ์ผ ์ƒ์„ฑ

  • <h4> ํƒœ๊ทธ์— ๊ตฌ๊ตฌ๋‹จ ์ถœ๋ ฅํ•˜๊ธฐ ์ž‘์„ฑ
  • forward ์•ก์…˜ ํƒœ๊ทธ๋กœ ๊ตฌ๊ตฌ๋‹จ ์ถœ๋ ฅํ•˜๋Š”forward_data.jsp ํŒŒ์ผ๋กœ ์ด๋™
  • param ์•ก์…˜ ํƒœ๊ทธ๋กœ ์ˆซ์ž 5๋ฅผ ์ถœ๋ ฅํ•˜๋Š” forward_data.jspํŒŒ์ผ์— ์ „๋‹ฌ

forward_data.jsp ํŒŒ์ผ ์ƒ์„ฑ

  • ์ „๋‹ฌ๋ฐ›์€ ์ˆซ์ž 5์˜ ๊ตฌ๊ตฌ๋‹จ์„ ์ถœ๋ ฅํ•˜๋„๋ก ์ž‘์„ฑ
  1. forward.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>
	<h4>๊ตฌ๊ตฌ๋‹จ ์ถœ๋ ฅํ•˜๊ธฐ</h4>
	<hr>
	<jsp:forward page="forward_data.jsp">
		<jsp:param value="5" name="gugudan"/>
	</jsp:forward>
</body>
</html>
  1. forward_data.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>

	<% int gugudan =Integer.parseInt(request.getParameter("gugudan"));
	
		for(int i=1; i<10; i++){
			out.print(gugudan +" * "+ i +" = "+(gugudan*i)+"<br>");
		}
	%>
</body>
</html>

๐Ÿ“š ์ฟ ํ‚ค (PPT Chapter 09)

๐Ÿ“˜์ฟ ํ‚ค

  • ์›น๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋ณด๊ด€ํ•˜๋Š” ๋ฐ์ดํ„ฐ
  • ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ ์„œ๋ฒ„๋กœ ์š”์ฒญํ•˜๊ณ  ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ์‘๋‹ต์„ ๋ฐ›์€ ํ›„ ์ข…๋ฃŒ๊ฐ€ ๋œ ์ดํ›„์—๋„ ์–ด๋–ค ์ •๋ณด๋ฅผ ์ง€์†์ ์œผ๋กœ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉ

๐Ÿ“˜์ฟ ํ‚ค์˜ ์†์„ฑ

  • ์›น ์„œ๋ฒ„์— ์š”์ฒญ์„ ๋ณด๋‚ผ ๋•Œ ํ•จ๊ป˜ ์ „์†ก๋จ
  • ํ•œ๊ฐœ๋‹น 4kB
  • 300๊ฐœ๊นŒ์ง€ ์ €์žฅ ๊ฐ€๋Šฅ (301๊ฐœ๋ถ€ํ„ฐ๋Š” ์ œ์ผ ์˜ค๋ž˜๋œ ์ˆœ์„œ๋กœ ์‚ญ์ œํ•จ)

๐Ÿ“˜์ฟ ํ‚ค ๊ด€๋ จ ๋ฉ”์†Œ๋“œ

int getMaxAge()
: ์ฟ ํ‚ค์˜ ์œ ํšจ๊ธฐ๊ฐ„ ์–ป์Œ
String getName()
:์ฟ ํ‚ค์˜ ์ด๋ฆ„์„ ์–ป์Œ
String getPath()
:์ฟ ํ‚ค์‚ฌ์šฉ ์œ ํšจ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์„ค์ •
String getValue()
:์ฟ ํ‚ค์˜ ๊ฐ’์„ ์–ป์Œ
setMaxAge(int)
:์ฟ ํ‚ค์˜ ์œ ํšจ๊ธฐ๊ฐ„ ์„ค์ •
setPath(String)
:์ฟ ํ‚ค์‚ฌ์šฉ ์œ ํšจ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์„ค์ •

๐Ÿ“˜์ƒˆ๋กœ์šด ์ฟ ํ‚ค ์„ค์ •

  1. ์ฟ ํ‚ค๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ
    Cookie info = new Cookie("testCookie","I am First Cookie!!");

  2. ์ฟ ํ‚ค ๊ฐ์ฒด์— ์†์„ฑ๊ฐ’ ์„ค์ •ํ•˜๊ธฐ
    void setMaxAge(int expiry);
    ย ย ย ย ย ย ย info.setMaxAge(365*24*60*60);

    void setPath(java.lang.String uri)
    ย ย ย ย ย ย ย ย info.setPath("/");

  3. ์ฟ ํ‚ค๋ฅผ ์ถ”๊ฐ€ํ•˜๊ธฐ
    void addCookie(Cookie cookie)
    ย ย ย ย ย ย ย ย response.addCookie(info);

๐Ÿ“˜์ฟ ํ‚ค์— ์ €์žฅ๋œ ์ •๋ณด๋ฅผ ์„œ๋ฒ„๋กœ ์ฝ์–ด์˜ค๊ธฐ

  1. ์ฟ ํ‚ค ๊ฐ์ฒด ์–ป์–ด์˜ค๊ธฐ
    Cookie[] cookies = request.getCookies();

  2. ์ฟ ํ‚ค ๊ฐ์ฒด์— ์„ค์ •๋œ ์†์„ฑ๊ฐ’ ์•Œ์•„๋‚ด๊ธฐ

  for(int i=0;i<cookies.length;i++) 
	cookies[i].getName( ); 

for(int i=0;i<cookies.length;i++) 
	cookies[i].getValue( ); 

๐Ÿ“–์˜ˆ์ œ

  <%@ 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>
	<center><h3>[ ์ฟ ํ‚ค์˜ ์ •๋ณด ์–ป์–ด์˜ค๋Š” ์˜ˆ์ œ ]</h3></center>
	<hr>	
	
</body>
</html>
<% 
	Cookie[] cookies = request.getCookies();//๊ฐ์ฒด๋ฐฐ์—ด
	out.println("ํ˜„์žฌ ์„ค์ •๋œ ์ฟ ํ‚ค์˜ ๊ฐฏ์ˆ˜ => "+cookies.length);
	out.println("<br><hr>");
	
	for(int i=0; i<cookies.length; i++){
		out.println(i+"๋ฒˆ์งธ ์ฟ ํ‚ค์˜ ์ด๋ฆ„ =>"+cookies[i].getName());
		out.println("<br><br>");
		out.println("์ฟ ํ‚ค์— ์„ค์ •๋œ ๊ฐ’ =>"+cookies[i].getValue());
		out.println("<br><hr>");
	}
%>
  <%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>

<%
	Cookie info = new Cookie("testCookie","FirstCookie");
	info.setMaxAge(365*24*60*60);
	info.setPath("/");
	response.addCookie(info);
%>


<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
	<h2>์ฟ ํ‚ค๋ฅผ ์ฒ˜์Œ ์„ค์ •ํ•˜๋Š” ์ค‘์ž…๋‹ˆ๋‹ค.</h2>
</body>
</html>
 <%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<% 
	Cookie[] cookies = request.getCookies();
	
	for(int i=0; i<cookies.length; i++){
		out.println(i+"๋ฒˆ์งธ ์ฟ ํ‚ค "+cookies[i].getName()+" ์‚ญ์ œ<br>");
		cookies[i].setMaxAge(0);//๊ธฐ๊ฐ„ ๋งŒ๋ฃŒ
		cookies[i].setPath("/");
		response.addCookie(cookies[i]);//ํ•ด๋‹น ์ฟ ํ‚ค ๊ฐ์ฒด
		
	}
%>   
    

=> ์ฟ ํ‚ค์˜ ์ƒ์„ฑ ๋ฐ ์‚ญ์ œ

๐Ÿ“–๋งˆ์ง€๋ง‰ ๋ฐฉ๋ฌธ ์–ธ์ œ์ธ์ง€ ํ™•์ธ

   <%@page import="java.util.Date"%>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<%
	Cookie lastDate=null;
	boolean found = false;
	String msg = "";
	String newValue = ""+System.currentTimeMillis();

	Cookie[] cookies = request.getCookies();
	for(int i=0; i<cookies.length; i++){
		lastDate = cookies[i];
		
		
		if(lastDate.getName().equals("lastdateCookie")){
			found = true;
			break;
		}
	}
	
	if(!found){//์ฒ˜์Œ ๋ฐฉ๋ฌธ
		msg="์ฒ˜์Œ ๋ฐฉ๋ฌธ์ž…๋‹ˆ๋‹ค...";
		lastDate = new Cookie("lastdateCookie",newValue);
		lastDate.setMaxAge(365*24*60*60);   //์ฟ ํ‚ค ์„ค์ •
		lastDate.setPath("/");
		response.addCookie(lastDate);
	}else{//์ฒ˜์Œ๋ฐฉ๋ฌธ์ด ์•„๋‹Œ ์‚ฌ๋žŒ
		long conv = Long.parseLong(lastDate.getValue());
		msg="๋‹น์‹ ์˜ ๋งˆ์ง€๋ง‰ ๋ฐฉ๋ฌธ : "+ new Date();
		lastDate.setValue(newValue);
		response.addCookie(lastDate);
	}
%>

<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
	<h2><%= msg  %></h2>
</body>
</html>

๐Ÿ“šReference

์ฐธ๊ณ ํ•œ ๋‹ค๋ฅธ ๋ถ„๋“ค์˜ ๋ธ”๋กœ๊ทธ ๋˜๋Š” ๊ด€๋ จ ๋งํฌ๋“ค

0๊ฐœ์˜ ๋Œ“๊ธ€