728x90
반응형

 

Cookies 

- 클라이언트에 저장됨
- 암호화가 되지 않아 보안성이 낮다
- 웹서버는 웹브라우저가 전송한 쿠키를 사용해 필요한 데이터를 읽어올 수 있다.
- 유효기간 미설정시 웹브라우저에 저장(웹브라우저 닫을 때 삭제)
- 유효기간 설정시 사용자의 PC에 저장됨 (유효기간이 지나면 자동으로 삭제)
- 쿠키는 그 크기가 하나에 4KB이하로 제한이 되어 있으며, 총 300개까지 정보를 저장할 수 있다.
따라서, 최대로 저장 가능한 쿠키의 용량은 1200KB 즉 1.2MB

 

response.addCookie( );  
request.getCookies( );  

response.addCookie(cookie_id);
<%@ 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>
	<form action="15_01_cookies01_process.jsp" method="post">
		<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=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
		String user_id = request.getParameter("id");
		String user_pw = request.getParameter("passwd");

		if(!(user_id == null || user_pw == null)){	
			if(user_id.equals("admin") && user_pw.equals("1234")){
				//쿠키 객체  생성
				Cookie cookie_id = new Cookie("userID", user_id);
				Cookie cookie_pw = new Cookie("userPW", user_pw);
				//응답객체에 쿠키 추가(클라이언트 브라우저에 저장)
				response.addCookie(cookie_id);
				response.addCookie(cookie_pw);
				out.println("쿠키 생성이 성공했습니다<br>");
				out.println(user_id+"님 환영합니다.");
			}else{
				out.println("세션 설정이 실패했습니다.");
			}
		}
	%><br>
</body>
</html>

 

request.getCookies();

<%@ 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>
<%
	Cookie[] cookies = request.getCookies();
	if(cookies != null) {
		out.println("현재 설정된 쿠키의 개수 => " + cookies.length + "<br>");
		out.println("==========================<br>");
	
	for(int i = 0; i < cookies.length; i++){
		out.println("설정된 쿠키의 속성 이름 [ " + i + " ] : " + cookies[i].getName() + "<br>");
		out.println("설정된 쿠키의 속성 값 [ " + i + " ] : " + cookies[i].getValue() + "<br>");
		out.println("-------------------------------------------<br>");
	}
	}else{
		out.print("쿠키가 없습니다.");
	}
%>
</body>
</html>
aa
<%@ 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>
	<%
		Cookie[] cookies = request.getCookies();
	
		for(int i = 0; i < cookies.length; i++){
			//쿠키만료시간 설정
			cookies[i].setMaxAge(60*60);
			
			//쿠키삭제
// 			cookies[i].setMaxAge(0);
			response.addCookie(cookies[i]);
			//setMaxAge 후 addCookie 처리 해줘야 반영됨
		}
		response.sendRedirect("15_01_cookies02.jsp");
		

	%>
</body>
</html>
728x90
반응형

+ Recent posts