์ฟ ํค
์น ๋ธ๋ผ์ฐ์ ์์ ์๋ฒ๋ก ์ด๋ค ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ๋ฉด,
์๋ฒ์ธก์์๋ ์๋ง์ ๋ก์ง์ ์ํํ ํ ๋ฐ์ดํฐ๋ฅผ ์น ๋ธ๋ผ์ฐ์ ์ ์๋ต
์๋ฒ๋ ์น ๋ธ๋ผ์ฐ์ ์์ ๊ด๊ณ๋ฅผ ์ข
๋ฃ
์น๋ธ๋ผ์ฐ์ ์ ์๋ต ํ ๊ด๊ณ๋ฅผ ๋๋ ๊ฒ์ http ํ๋กํ ์ฝ์ ํน์ง
์ฐ๊ฒฐ์ด ๋๊ฒผ์ ๋ ์ด๋ค ์ ๋ณด๋ฅผ ์ง์์ ์ผ๋ก ์ ์งํ๊ธฐ ์ํ ์๋จ์ผ๋ก ์ฟ ํค๋ผ๋ ๋ฐฉ์์ ์ฌ์ฉ
์ฟ ํค๋ ์๋ฒ์์ ์์ฑ, ํด๋ผ์ด์ธํธ ์ธก์ ํน์ ์ ๋ณด๋ฅผ ์ ์ฅ
์๋ฒ์ ์์ฒญ ํ ๋ ๋ง๋ค ์ฟ ํค์ ์์ฑ๊ฐ์ ์ฐธ์กฐ ๋๋ ๋ณ๊ฒฝ ๊ฐ๋ฅ
์ฟ ํค ๊ด๋ จ ๋ฉ์๋
setMaxAge() : ์ฟ ํค ์ ํจ๊ธฐ๊ฐ์ ์ค์ ํฉ๋๋ค.
setpath() : ์ฟ ํค์ฌ์ฉ์ ์ ํจ ๋๋ ํ ๋ฆฌ๋ฅผ ์ค์ ํฉ๋๋ค.
setValue() : ์ฟ ํค์ ๊ฐ์ ์ค์ ํฉ๋๋ค.
setVersion() : ์ฟ ํค ๋ฒ์ ์ ์ค์ ํฉ๋๋ค.
getMaxAge() : ์ฟ ํค ์ ํจ๊ธฐ๊ฐ ์ ๋ณด๋ฅผ ์ป์ต๋๋ค.
getName() : ์ฟ ํค ์ด๋ฆ์ ์ป์ต๋๋ค.
getPath() : ์ฟ ํค์ฌ์ฉ์ ์ ํจ ๋๋ ํ ๋ฆฌ ์ ๋ณด๋ฅผ ์ป์ต๋๋ค.
getValue() : ์ฟ ํค์ ๊ฐ์ ์ป์ต๋๋ค.
getVersion() : ์ฟ ํค ๋ฒ์ ์ ์ป์ต๋๋ค.
// login-form.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insert title here</title>
</head>
<body>
<h1>๋ก๊ทธ์ธ ํ์ด์ง</h1>
<form action="login-ok.jsp" method="get">
ID : <input type="text" class="id" name="id"><br>
PW : <input type="password" id="pw" name="pw"><br>
<input type="checkbox" name="id-check" value="ok"> ์์ด๋ ์ ์ฅ
<input type="submit" value="๋ก๊ทธ์ธ">
</form>
</body>
</html>
// login-ok.jsp
// ์ฒ์ ์ฟ ํค ์์ฑ
<%@page import="java.net.URLEncoder"%>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insert title here</title>
</head>
<body>
<h1> ์ฟ ํค ์์ฑ ์๋ฃ </h1>
<%
Cookie info = new Cookie("test",URLEncoder.encode("hello cookie","utf-8"));
info.setMaxAge(60*60);
info.setPath("/");
response.addCookie(info);
%>
</body>
</html>
// ํด๋ผ์ด์ธํธ๊ฐ ์ด๋ ํ ์์ฒญ์ ํ๊ณ , ์๋ฒ์์ ํด๋ผ์ด์ธํธ์๊ฒ ๋ฐ์ ์ฟ ํค๋ฅผ ์ถ์ถ
// login-form.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insert title here</title>
</head>
<body>
<%
Cookie[] cookie = request.getCookies();
String id ="";
for(int i=0 ; i<cookie.length ; i++){
if(cookie[i].getName().equals("test")){
id = cookie[i].getValue();
}
}
%>
<h1>๋ก๊ทธ์ธ ํ์ด์ง</h1>
<form action="login-ok.jsp" method="get">
ID : <input type="text" class="id" name="id" value="<%=id%>"><br>
PW : <input type="password" id="pw" name="pw"><br>
<input type="checkbox" name="id-check" value="ok"> ์์ด๋ ์ ์ฅ
<input type="submit" value="๋ก๊ทธ์ธ">
</form>
</body>
</html>
// login-ok.jsp
<%@page import="java.net.URLEncoder"%>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insert title here</title>
</head>
<body>
<h1> ์ฟ ํค ์์ฑ ์๋ฃ </h1>
<%
String[] idCheck = request.getParameterValues("id-check");
String id = request.getParameter("id");
if(idCheck !=null && idCheck[0].equals("ok")){
Cookie info = new Cookie("test",URLEncoder.encode(id,"utf-8"));
info.setMaxAge(60*60);
info.setPath("/");
response.addCookie(info);
}else{
// ์ฟ ํค ์ญ์
Cookie[] cookie = request.getCookies();
for(int i=0; i<cookie.length; i++){
if(cookie[i].getName().equals("test")){
cookie[i].setMaxAge(0);
cookie[i].setPath("/");
response.addCookie(cookie[i]);
}
}
}
%>
</body>
</html>