Cookie
)๋?Cookie
)๋?_์ฟ ํค ํ์ค์๋ ๋ค์๊ณผ ๊ฐ์ ์ ์ฝ์ด ์๋ค๊ณ ํ๋ค. ์๋๋ฅผ ํ์ธํด ๋ณด์!_
- ํด๋ผ์ด์ธํธ์ ์ํ ์ ๋ณด๋ฅผ ์ ์งํ๊ธฐ ์ํ ๊ธฐ์ ์ด๋ค.
- ์ํ ์ ๋ณด๋ฅผ ํด๋ผ์ด์ธํธ์ ํค์ ๊ฐ ํํ๋ก ์ ์ฅํ๋ค๊ฐ ๋ค์ ์์ฒญ์ ์ ์ฅ๋ ์ฟ ํค๋ฅผ ํจ๊ป ์ ์กํ๋ค
๊ทธ๋ฌ๋ฉด ์น ์๋ฒ๋ ๋ธ๋ผ์ฐ์ ๊ฐ ์ ์กํ ์ฟ ํค๋ก๋ถํฐ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด์ฌ ์ ์๋ค.
HTTP ์๋ต ํค๋
์ ์ค์ด ํด๋ผ์ด์ธํธ์ ์ ์กํ๋ค.์ฟ ํค
๋ฅผ ๋ฐ์ ์ ์ฅํด๋๋ค.์ฟ ํค
๊ฐ ํด๋ผ์ด์ธํธ์๋ง ์ ์ฅ๋ ์ํ์ด๋ฏ๋ก ์๋ฒ๋ ์์ง ์ฟ ํค
๋ฅผ ์ฌ์ฉํ ์ ์๋ค.)์ฟ ํค
๋ฅผ HTTP ์์ฒญ ํค๋
์ ์ค์ด ๋ณด๋ธ๋ค.์ฟ ํค
์ ์ ๋ณด๋ฅผ ์ฝ์ด ํ์ํ ์์
์ ์ํํ๋ค.์ด๋ฆ | ์ค๋ช |
---|---|
์ด๋ฆ(name) | ์ฟ ํค๋ฅผ ๊ตฌ๋ณํ๋ ์ด๋ฆ |
๊ฐ(value) | ์ฟ ํค์ ์ ์ฅํ ์ค์ ๋ฐ์ดํฐ |
๋๋ฉ์ธ(domain) | ์ฟ ํค๋ฅผ ์ ์ฉํ ๋๋ฉ์ธ |
๊ฒฝ๋ก(path) | ์ฟ ํค๋ฅผ ์ ์ฉํ ๊ฒฝ๋ก |
์ ์ง ๊ธฐ๊ฐ(max age) | ์ฟ ํค๋ฅผ ์ ์งํ ๊ธฐ๊ฐ |
์ด๋ฆ | ์ค๋ช |
---|---|
void setValue(String value) | - ์ฟ ํค์ ๊ฐ์ ์ค์ ํ๋ค. ๋ฌธ์์ด์ ์ ๋ ฅํ๋ฉด ๋๋๋ฐ, ์ผํ๋ ์ธ๋ฏธ์ฝ๋ก ๊ฐ์ ๋ฌธ์๋ ํฌํจํ ์ ์๋ค. |
์ด๋ฆ | ์ค๋ช |
---|---|
void setDomain(String domain) | - ์ฟ ํค์ ์ ์ฉํ ๋๋ฉ์ธ์ ์ค์ ํ๋ค. |
- ์ฃผ ๋๋ฉ์ธ๋ง ์ ์ํ๊ณ ์ถ๋ค๋ฉด "๋๋ฉ์ธ" ํํ๋ก ๊ธฐ์ ํ๋ค. | |
- ์ฃผ ๋๋ฉ์ธ ์ธ์ ์๋ธ ๋๋ฉ์ธ์๋ ์ ์ฉํ๊ณ ์ถ๋ค๋ฉด ".๋๋ฉ์ธ" ํํ๋ก ๊ธฐ์ ํ๋ค. | |
(์์: setDomain(".nnnn.co.kr")๋ก ์ค์ ํ๋ฉด www.nnnn.co.kr์ ๋ฌผ๋ก mail.nnnn.co.kr์๋ ์ฟ ํค๊ฐ ์ ์ฉ๋๋ค.) |
์ด๋ฆ | ์ค๋ช |
---|---|
void setPath(String path) | - ์ฟ ํค๊ฐ ์ ์ฉ๋ ๊ฒฝ๋ก๋ฅผ ์ง์ ํ๋ค. ์ง์ ํ ๊ฒฝ๋ก์ ๊ทธ ํ์ ๊ฒฝ๋ก์๊น์ง ์ ์ฉ๋๋ค. |
์ด๋ฆ | ์ค๋ช |
---|---|
void setMaxAge(int expire_seconds) | - ์ฟ ํค๊ฐ ์ ์ง๋ ๊ธฐ๊ฐ์ ์ด ๋จ์๋ก ์ค์ ํ๋ค. |
- ๊ธฐ๊ฐ์ ์ค์ ํ์ง ์์ผ๋ฉด ์น ๋ธ๋ผ์ฐ์ ๊ฐ ๋ซํ ๋ ์ฟ ํค๋ ๊ฐ์ด ์ญ์ ๋๋ค. |
๊ทธ๋ฐ๋ฐ ์ ์ฟ ํค์ ์ด๋ฆ ์ค์ ํ๋๊ฒ์ ์์๊น?
์ฟ ํค
์ ์ด๋ฆ์ ์์ฑ์
๋ฅผ ํตํด ์ค์ ํ๊ณ , ์์ฑ ํ์๋ ๋ ์ด์ ์ด๋ฆ์ ๋ณ๊ฒฝํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.์์ฑ์์ ํํ๋ ์๋๋ฅผ ํตํด ํ์ธํ์!
์ด๋ฆ | ์ค๋ช |
---|---|
์ฟ ํค์ ์์ฑ์ | new Cookie(String name, String value) |
์ด๋ฆ๊ณผ ๊ฐ์ ๋ฐ์ ์๋ก์ด ์ฟ ํค๋ฅผ ์์ฑํ๋ค. |
์ด๋ฆ | ์ค๋ช |
---|---|
String getName() | ์ฟ ํค์ ์ด๋ฆ์ ๋ฐํํ๋ค. |
String getValue() | ์ฟ ํค์ ๊ฐ์ ๋ฐํํ๋ค. |
String getDomain() | ์ฟ ํค๊ฐ ์ ์ฉ๋๋ ๋๋ฉ์ธ์ ๋ฐํํ๋ค. |
String getPath() | ์ฟ ํค์ ์ ์ฉ ๊ฒฝ๋ก๋ฅผ ๋ฐํํ๋ค. ๋จ, setPath()๋ก ์ค์ ํ ์ ์ด ์๋ค๋ฉด null์ ๋ฐํํ๋ค. |
ubt getMaxAge() | ์ฟ ํค์ ์ ์ง ๊ธฐ๊ฐ์ ๋ฐํํ๋ค. ๋จ, setMaxAge()๋ก ์ค์ ํ ์ ์ด ์๋ค๋ฉด -1์ ๋ฐํํ๋ค. |
์ฟ ํค๋ฅผ ์์ฑํ๊ณ ๊ธฐ๋ณธ ๋์์ ํ์ธํ ์ ์๋ ๊ฐ๋จํ ์์ ๋ฅผ ๋ณด๋ฉด์ ๋ฐฐ์๋ณด์!
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<html>
<head><title>Cookie</title></head>
<body>
<h2>1. ์ฟ ํค(Cookie) ์ค์ </h2>
<%
Cookie cookie = new Cookie("myCookie", "์ฟ ํค๋ง๋์"); // ์ฟ ํค ์์ฑ
cookie.setPath(request.getContextPath()); // ๊ฒฝ๋ก๋ฅผ ์ปจํ
์คํธ ๋ฃจํธ๋ก ์ค์
cookie.setMaxAge(3600); // ์ ์ง ๊ธฐ๊ฐ์ 1์๊ฐ์ผ๋ก ์ค์
response.addCookie(cookie); // ์๋ต ํค๋์ ์ฟ ํค ์ถ๊ฐ
%>
<h2>2. ์ฟ ํค ์ค์ ์งํ ์ฟ ํค๊ฐ ํ์ธํ๊ธฐ</h2>
<%
Cookie[] cookies = request.getCookies(); // ์์ฒญ ํค๋์ ๋ชจ๋ ์ฟ ํค ์ป๊ธฐ
if (cookies!=null)
{
for (Cookie c : cookies)
{
// ์ฟ ํค ๊ฐ๊ฐ์
String cookieName = c.getName(); // ์ฟ ํค ์ด๋ฆ ์ป๊ธฐ
String cookieValue = c.getValue(); // ์ฟ ํค ๊ฐ ์ป๊ธฐ
// ํ๋ฉด์ ์ถ๋ ฅ
out.println(String.format("%s : %s<br/>", cookieName, cookieValue));
}
}
%>
<h2>3. ํ์ด์ง ์ด๋ ํ ์ฟ ํค๊ฐ ํ์ธํ๊ธฐ</h2>
<a href="CookieResult.jsp">
๋ค์ ํ์ด์ง์์ ์ฟ ํค๊ฐ ํ์ธํ๊ธฐ
</a>
</body>
</html>
"myCookie"
์ด๊ณ ๊ฐ์ด "์ฟ ํค ๋ง๋์"
์ธ ์ฟ ํค๋ฅผ ์์ฑํ ํ, ๊ฒฝ๋ก์ ์ ์ง ๊ธฐ๊ฐ์ ์ค์ ํด ์๋ต ํค๋์ ์ถ๊ฐํ๋ค.cookie.setPath(request.getContextPath());
์์ ์ค์ ํ ๊ฒฝ๋ก๋ request ๋ด์ฅ ๊ฐ์ฒด
์ getContextPath()
๋ก ์ป์ด์จ ์ปจํ
์คํธ ๋ฃจํธ
์ด๋ค. ์ดํด๋ฆฝ์ค์์๋ ํ๋ก์ ํธ๋ช
์ด ์ปจํ
์คํธ ๋ฃจํธ๋ก ์ฌ์ฉ๋๋ค2. ์ฟ ํค ์ค์ ์งํ ์ฟ ํค๊ฐ ํ์ธํ๊ธฐ
๋ถ๋ถ์ ์์ฒญ ํค๋์ ๋ด๊ฒจ์๋ ์ฟ ํค๋ฅผ ๋ชจ๋ ๊ฐ์ ธ์์ ํ์ฅ for๋ฌธ
์ ์ด์ฉํด ์ด๋ฆ
๊ณผ ๊ฐ
์ ํ๋ฉด์ ์ถ๋ ฅํ๋ค.์ฟ ํค
๋ฅผ ๋น ๊ฐ
์ผ๋ก ์ค์ ํ๊ณ ์ ์ง ๊ธฐ๊ฐ์ 0
์ผ๋ก ๋ถ์ฌํ๋ฉด ๋๋ค.์ฟ ํค๋ฅผ ํ์ฉํ์ฌ ๊ฐ๋จํ ์์ ๋ฅผ ๋ง๋ค์ด๋ณด์ !
๐ PopupMain.jsp ๐
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
String popupMode = "on";
Cookie[] cookies = request.getCookies();
if (cookies != null)
{
for (Cookie c : cookies)
{
String cookieName = c.getName();
String cookieValue = c.getValue();
if (cookieName.equals("PopupClose"))
{
popupMode = cookieValue;
}
}
}
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>์ฟ ํค๋ฅผ ์ด์ฉํ ํ์
๊ด๋ฆฌ</title>
<style>
div#popup {
position: absolute; top:100px; left:100px; color:yellow;
width:300px; height:100px; background-color:gray;
}
div#popup>div {
position: relative; background-color:#ffffff; top:0px;
border:1px solid gray; padding:10px; color:black;
}
</style>
</head>
<body>
<h2>ํ์
๋ฉ์ธ ํ์ด์ง</h2>
<%
for (int i = 1; i <= 10; i++)
{
out.print("ํ์ฌ ํ์
์ฐฝ์ " + popupMode + " ์ํ์
๋๋ค.<br/>");
}
if (popupMode.equals("on"))
{
%>
<div id="popup">
<h2 align="center">๊ณต์ง์ฌํญ ํ์
์
๋๋ค.</h2>
<div align="right">
<form name="popFrm">
<input type="checkbox" id="inactiveToday" value="1" />ํ๋ฃจ ๋์ ์ด์ง ์์
<input type="button" value="๋ซ๊ธฐ" id="closeBtn" />
</form>
</div>
</div>
<%
}
%>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>
$(function()
{
$('#closeBtn').click(function()
{
$('#popup').hide();
const chkVal = $("input:checkbox[id=inactiveToday]:checked").val();
$.ajax
({
url : './PopupCookie.jsp',
type : 'get',
data :
{
inactiveToday : chkVal
},
dataType : "text",
success : function(resData)
{
if (resData != '')
{
location.reload();
}
}
});
});
});
</script>
</body>
</html>
๐ PopupCookie.jsp ๐
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" trimDirectiveWhitespaces="true"%>
<%
String chkVal = request.getParameter("inactiveToday");
if (chkVal != null && chkVal.equals("1"))
{
Cookie cookie = new Cookie("PopupClose", "off"); // ์ฟ ํค ์์ฑ
cookie.setPath(request.getContextPath()); // ๊ฒฝ๋ก ์ค์
cookie.setMaxAge(60*60*24); // ์ ์ง ๊ธฐ๊ฐ ์ค์
response.addCookie(cookie); // ์๋ต ๊ฐ์ฒด์ ์ถ๊ฐ
out.println("์ฟ ํค : ํ๋ฃจ ๋์ ์ด์ง ์์");
}
%>
[์ค๋ ํ๋ฃจ ์ด์ง ์์]
์ฒดํฌ๋ฐ์ค๋ฅผ ์ฒดํฌํ๋ค๋ฉด ์ด ๊ฐ์ผ๋ก "1"
์ด ์ ๋ฌ๋๋ค.๊ฐ์ด "1"
์ด๋ฉด ์ด๋ฆ์ด "PopupClose"
, ๊ฐ์ด "off"
๋ก ์ ์ฅ๋๊ณ ๊ฒฝ๋ก๋ ์ปจํ
์คํธ ๋ฃจํธ
, ์ ์ง ๊ธฐ๊ฐ์ ํ๋ฃจ
์ธ ์ฟ ํค๋ฅผ ์์ฑํด ์๋ต ๊ฐ์ฒด์ ์ถ๊ฐ
ํ๋ค.ํฌ๋กฌ์ ๊ฒฝ์ฐ ์ฐ์ธก ์๋จ์ [๋ ๋ณด๊ธฐ]
๋ฉ๋ด ์์ [์ค์ ]
์ ํด๋ฆญํ๋ค.
[๊ฐ์ธ์ ๋ณด ๋ฐ ๋ณด์]
์์ญ์์ [์ธํฐ๋ท ์ฌ์ฉ ๊ธฐ๋ก ์ญ์ ]
๋ฅผ ํด๋ฆญํ๋ค.
[๊ธฐ๋ณธ]
ํญ๊ณผ [๊ณ ๊ธ]
ํญ์ ๋ณด๋ฉด ๋ค์ํ ์ต์
์ด ์๋๋ฐ, ๊ฐ์ฅ ์ต๊ทผ์ ์ฟ ํค๋ง ์ญ์ ํ๋ ค๋ฉด ๊ธฐ๊ฐ์ '์ง๋ 1์๊ฐ'
์ผ๋ก ์ ํํ๊ณ , '์ฟ ํค ๋ฐ ๊ธฐํ ์ฌ์ดํธ ๋ฐ์ดํฐ'
ํญ๋ชฉ์ ์ฒดํฌํ ํ [์ธํฐ๋ท ์ฌ์ฉ ๊ธฐ๋ก ์ญ์ ]
๋ฒํผ์ ํด๋ฆญํ๋ฉด ๋๋ค.
์ฟ ํค๋ฅผ ์ด์ฉํ ์์ด๋ ์ ์ฅ ์๋๋ฆฌ์ค๋ ๋ค์๊ณผ ๊ฐ๋ค!
[์์ด๋ ์ ์ฅํ๊ธฐ]
์ฒดํฌ๋ฐ์ค๋ฅผ ํด์ ํ๊ณ ๋ก๊ทธ์ธ์ ์ฑ๊ณตํ๋ฉด ์ฟ ํค๊ฐ ์ญ์ ๋๋ค๋ก๊ทธ์ธ ํ์ด์ง๋ฅผ ๋ณด๊ธฐ ์ ์ JSP์์ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํ ํด๋์ค๋ฅผ ๋จผ์ ์์ฑํ๋๋ก ํ์!
์ด๋ฒ ์ ์๋ ๋ฉ์์ง ์๋ฆผ์ฐฝ์ ๋์ด ํ ๋ค์ ํ์ด์ง๋ ์ด์ ํ์ด์ง๋ก ์ด๋ํ๋ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๊ฐ ํ์ํ๋ค
script ์ฝ๋๋ฅผ ์ฐ๊ฒ๋๋ฉด ์์ค๊ฐ ์ง์ ๋ถํด์ง๊ณ ๋ฐ๋ณต๋๋ ์ฝ๋๊ฐ ๋ง์์ง๊ธฐ์ ๋ณ๋์ ๋์ฐ๋ฏธ ํด๋์ค๋ฅผ ๋ง๋ค์ด ๋์!
๐ ๋ณ๋์ ๋์ฐ๋ฏธ ํด๋์ค: JSFunction.java ๐
package utils;
import java.io.PrintWriter;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.jsp.JspWriter;
public class JSFunction {
// ๋ฉ์์ง ์๋ฆผ์ฐฝ์ ๋์ด ํ ๋ช
์ํ URL๋ก ์ด๋ํฉ๋๋ค.
public static void alertLocation(String msg, String url, JspWriter out)
{
try
{
String script = "" // ์ฝ์
ํ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋
+ "<script>"
+ " alert('" + msg + "');"
+ " location.href='" + url + "';"
+ "</script>";
out.println(script); // ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ out ๋ด์ฅ ๊ฐ์ฒด๋ก ์ถ๋ ฅ(์ฝ์
)
}
catch (Exception e) {}
}
// ๋ฉ์์ง ์๋ฆผ์ฐฝ์ ๋์ด ํ ์ด์ ํ์ด์ง๋ก ๋์๊ฐ๋๋ค.
public static void alertBack(String msg, JspWriter out)
{
try
{
String script = ""
+ "<script>"
+ " alert('" + msg + "');"
+ " history.back();"
+ "</script>";
out.println(script);
}
catch (Exception e) {}
}
// ๋ฉ์์ง ์๋ฆผ์ฐฝ์ ๋์ด ํ ๋ช
์ํ URL๋ก ์ด๋ํฉ๋๋ค.
public static void alertLocation(HttpServletResponse resp, String msg, String url)
{
try
{
resp.setContentType("text/html;charset=UTF-8");
PrintWriter writer = resp.getWriter();
String script = ""
+ "<script>"
+ " alert('" + msg + "');"
+ " location.href='" + url + "';"
+ "</script>";
writer.print(script);
}
catch (Exception e) {}
}
// ๋ฉ์์ง ์๋ฆผ์ฐฝ์ ๋์ด ํ ์ด์ ํ์ด์ง๋ก ๋์๊ฐ๋๋ค.
public static void alertBack(HttpServletResponse resp, String msg) {
try {
resp.setContentType("text/html;charset=UTF-8");
PrintWriter writer = resp.getWriter();
String script = ""
+ "<script>"
+ " alert('" + msg + "');"
+ " history.back();"
+ "</script>";
writer.print(script);
}
catch (Exception e) {}
}
}
์ด์ ์ฟ ํค๋ฅผ ์ฌ์ฉํ๊ธฐ ์ ์ ์ฟ ํค๋ ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ํด๋์ค๋ก ๋ง๋ค์ด๋ณด์ !
๐ CookieManager.java ๐
package utils;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class CookieManager
{
// ๋ช
์ํ ์ด๋ฆ, ๊ฐ, ์ ์ง ๊ธฐ๊ฐ ์กฐ๊ฑด์ผ๋ก ์๋ก์ด ์ฟ ํค๋ฅผ ์์ฑํฉ๋๋ค.
public static void makeCookie(HttpServletResponse response, String cName, String cValue, int cTime)
{
Cookie cookie = new Cookie(cName, cValue); // ์ฟ ํค ์์ฑ
cookie.setPath("/"); // ๊ฒฝ๋ก ์ค์
cookie.setMaxAge(cTime); // ์ ์ง ๊ธฐ๊ฐ ์ค์
response.addCookie(cookie); // ์๋ต ๊ฐ์ฒด์ ์ถ๊ฐ
}
// ๋ช
์ํ ์ด๋ฆ์ ์ฟ ํค๋ฅผ ์ฐพ์ ๊ทธ ๊ฐ์ ๋ฐํํฉ๋๋ค.
public static String readCookie(HttpServletRequest request, String cName)
{
String cookieValue = ""; // ๋ฐํ ๊ฐ
Cookie[] cookies = request.getCookies();
if (cookies != null)
{
for (Cookie c : cookies)
{
String cookieName = c.getName();
if (cookieName.equals(cName))
{
cookieValue = c.getValue(); // ๋ฐํ ๊ฐ ๊ฐฑ์
}
}
}
return cookieValue;
}
// ๋ช
์ํ ์ด๋ฆ์ ์ฟ ํค๋ฅผ ์ญ์ ํฉ๋๋ค.
public static void deleteCookie(HttpServletResponse response, String cName)
{
makeCookie(response, cName, "", 0);
}
}//////////////// class
์ฟ ํค ํด๋์ค๊น์ง ๋ค ๋ง๋ค์์ผ๋ ๋ณธ๊ฒฉ์ ์ผ๋ก ์ฟ ํค๋ฅผ ํตํด ๋ก๊ทธ์ธ ์์ด๋๋ฅผ ์ ์ฅํ๋ ๊ธฐ๋ฅ์ ๋ง๋ค์ด๋ณด์!
๐ ๋ก๊ทธ์ธ ํ์ด์ง : IdSaveMain.jsp ๐
<%@ page import="utils.CookieManager"%>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
String loginId = CookieManager.readCookie(request, "loginId");
String cookieCheck = "";
if (!loginId.equals(""))
{
cookieCheck = "checked";
}
%>
<html>
<head><title>Cookie - ์์ด๋ ์ ์ฅํ๊ธฐ</title></head>
<body>
<h2>๋ก๊ทธ์ธ ํ์ด์ง</h2>
<form action="IdSaveProcess.jsp" method="post">
์์ด๋ : <input type="text" name="user_id" value="<%= loginId %>" />
<input type="checkbox" name="save_check" value="Y" <%= cookieCheck %> />์์ด๋ ์ ์ฅํ๊ธฐ <br />
ํจ์ค์๋ : <input type="text" name="user_pw" /><br />
<input type="submit" value="๋ก๊ทธ์ธํ๊ธฐ" />
</form>
</body>
</html>
๐ IdSaveProcess.jsp ๐
<%@ page import="utils.CookieManager"%>
<%@ page import="utils.JSFunction"%>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
String user_id = request.getParameter("user_id");
String user_pw = request.getParameter("user_pw");
String save_check = request.getParameter("save_check");
if ("must".equals(user_id) && "1234".equals(user_pw))
{
// ๋ก๊ทธ์ธ ์ฑ๊ณต
if (save_check != null && save_check.equals("Y"))
{
CookieManager.makeCookie(response, "loginId", user_id, 86400);
}
else
{
CookieManager.deleteCookie(response, "loginId");
}
JSFunction.alertLocation("๋ก๊ทธ์ธ์ ์ฑ๊ณตํ์ต๋๋ค.", "IdSaveMain.jsp", out);
}
else
{
// ๋ก๊ทธ์ธ ์คํจ
JSFunction.alertBack("๋ก๊ทธ์ธ์ ์คํจํ์ต๋๋ค.", out);
}
%>
IdSaveProcess.jsp
ํ์ด์ง๋ก ์ด๋ํ๊ฒ ๋๋ค."must"
๋ก ํ๊ณ , ๋น๋ฐ๋ฒํธ๋ "1234"
๋ผ๊ณ ์ง์ ํ์๋ค.setPath()
๋ฉ์๋๋ก ์ ์ฉํ ๊ฒฝ๋ก๋ฅผ ์ค์ ํ๋ค.setMaxAge()
๋ฉ์๋๋ก ์ฟ ํค์ ์ ์ง ๊ธฐ๊ฐ์ ์ค์ ํ๋ค.response
๋ด์ฅ ๊ฐ์ฒด์ addCookie()
๋ฉ์๋๋ก ํด๋ผ์ด์ธํธ์ ์ฟ ํค๋ฅผ ์ ์ฅํ๋ค.