์ฟ ํค๋?
์ฟ ํค๋ ํด๋ผ์ด์ธํธ์ ์ํ ์ ๋ณด๋ฅผ ์ ์งํ๊ธฐ ์ํ ๊ธฐ์ .
์ํ ์ ๋ณด๋ฅผ ํด๋ผ์ด์ธํธ์ ์น ๋ธ๋ผ์ฐ์ ์ ํค(key)์ ๊ฐ(value)๋ก ์ ์ฅํ๋ค๊ฐ
๋ค์ ์์ฒญ ์ ์ ์ฅ๋ ์ฟ ํค๋ฅผ ํจ๊ป ์ ์กํจ. ๊ทธ๋ฌ๋ฉด ์น ์๋ฒ๋ ๋ธ๋ผ์ฐ์ ๊ฐ ์ ์กํ ์ฟ ํค๋ก๋ถํฐ ํ์ํ ๋ฐ์ดํฐ๋ฅผ
์ฝ์ด์ฌ ์ ์์.
๋์ ๋ฉ์ปค๋์ฆ
1) ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ์์ฒญ์ ๋ณด๋
2) ์๋ฒ๊ฐ ์ฟ ํค๋ฅผ ์์ฑํ์ฌ HTTP ์๋ต ํค์ด๋ฐ ์ค์ด ํด๋ผ์ด์ธํธ์ ์ ์ก
3) ํด๋ผ์ด์ธํธ๋ ์ฟ ํค๋ฅผ ๋ฐ์ ์ ์ฅํด๋ ( ์ ์ฅ๋ ์ํ์ด๊ธฐ ๋๋ฌธ์ ์์ง ์ฌ์ฉ์ ๋ถ๊ฐ๋ฅ)
4) ํด๋ผ์ด์ธํธ๋ ๋ค์ ์์ฒญ ์ ์ ์ฅํด๋ ์ฟ ํค๋ฅผ HTTP ์์ฒญ ํค๋์ ์ค์ด ๋ณด๋
5) ์๋ฒ๋ ์ฟ ํค์ ์ ๋ณด๋ฅผ ์ฝ์ด ํ์ํ ์์ ์ ์ํํฉ๋๋ค.
์์ )
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>1. ์ฟ ํค(Cookie) ์ค์ </h1>
<%
//์ฟ ํค ์์ฑ
Cookie cookie = new Cookie("myCookie","์ฟ ํค๋ง๋์");
cookie.setPath(request.getContextPath());// ๊ฒฝ๋ก๋ฅผ ์ปจํ
์คํธ ๋ฃจํธ๋ก ์ค์
cookie.setMaxAge(3600);// ์ฟ ํค ์ ์ง ๊ธฐ๊ฐ์ ํ์๊ฐ์ผ๋ก ์ค์
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>
1) ์ฟ ํค ์์ฑ ์
Cookie cookie = new Cookie(์ด๋ฆ, ๊ฐ)
2) cookie.setpath (request.getContextPath());
requset ๋ด์ฅ ๊ฐ์ฒด์ getContextPath() ๋ก ์ป์ด์จ ์ปจํ ์คํธ ๋ฃจํธ
์ฆ ์น ์ดํ๋ฆฌ์ผ์ด์ ์ ์ฒด์์ ์ฟ ํค๋ฅผ ์ฌ์ฉํ๊ฒ ๋ค๋ ์๋ฏธ์.
3)response.addCookie(cookie) ์๋ต ํค๋์ ์ฟ ํค๋ฅผ ์ถ๊ฐํด์ ์ ์ฅํด์ค๋๋ค.
์ฟ ํค ๊ฐ์ ๊ฐ์ ธ์ฌ ๋๋ ๋ฐฐ์ด๋ก ๊ฐ์ ธ์ต๋๋ค.
4) Cookie[] cookies = request.getCookies();
5) ๋ฐ๋ณต๋ฌธ์ผ๋ก ์ฟ ํค์ ๊ฐ์ด null์ด ์๋๋๋ ๊ฐ์ ์ถ๋ ฅํฉ๋๋ค.
์คํ ๊ฒฐ๊ณผ์๋ JSESSIONID๋ผ๋ ์ฟ ํค๊ฐ ๋ณด์.
์ด ์ฟ ํค๋ ํฐ์บฃ ์ปจํ ์ด๋์์ ์ธ์ ์ ์ ์งํ๊ธฐ ์ํด ๋ฐ๊ธํ๋ ํค.
์๋ก์ด ์น ๋ธ๋ผ์ฐ์ ๋ฅผ ์ด๋ฉด ์๋์ผ๋ก ์์ฑ๋จ
๋ค์ ํ์ด์ง์์ ์ฟ ํค๊ฐ ํ์ธํ๊ธฐ ํด๋ฆญ์ ๋์ค๋ ํ์ด์ง
CookieRequest.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h2>์ฟ ํค๊ฐ ํ์ธํ๊ธฐ(์ฟ ํค๊ฐ ์์ฑ๋ ์ดํ์ ํ์ด์ง)</h2>
<%
Cookie[] cookies = request.getCookies();
if(cookies!=null){
for(int i = 0; i<cookies.length;i++){
String cookieName = cookies[i].getName();
String cookieValue = cookies[i].getValue();
out.println(String.format("์ฟ ํค๋ช
: %s - ์ฟ ํค๊ฐ : %s<br/>", cookieName, cookieValue));
}
}
%>
</body>
</html>

'BACKEND > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| ์ค์ต ๋ฌธ์ ) 187p 6๋ฒ ํ์ด - ๋ช ํ ์๋ฐ ์์ผ์ (0) | 2023.10.03 |
|---|---|
| ์ค์ต ๋ฌธ์ ) p185 4๋ฒ ํ์ด -๋ช ํ ์๋ฐ ์์ผ์ (0) | 2023.10.03 |
| Scope ) session ์์ญ (0) | 2023.09.26 |
| Scope ) request ์์ญ (0) | 2023.09.26 |
| Scope ) Page ์์ญ (0) | 2023.09.26 |