쿠키

조수경·2022년 1월 19일
0

JSP

목록 보기
36/45
post-thumbnail

쿠키란?

- 웹브라우저가 보관하는 것

  • 세션과 마찬가지로 클라이언트(크롬)웹 서버(톰켓) 간의 상태를 지속적으로 유지하는 방법
  • 상태 정보(name,value)클라이언트(크롬의 쿠키저장소)에 저장
  • 쿠키 생성서버에서 함. 그 이후에 웹 서버로 전송되는 요청에는 쿠키 정보가 포함됨
  • 예) 아이디 저장하기
    처음 방문한 사용자가 로그인 인증 -> 아이디와 비밀번호를 기록한 쿠키가 생성
    -> 그 이후에 사용자가 그 웹 사이트에 접속하면 별도의 절차를 거치지 않고 쉽게 접속 가능
  • 웹 브라우저에 쿠키가 저장되면, 웹 브라우저는 쿠키가 삭제되기 전까지 웹 서버에 쿠키를 전송함
  • 웹 어플리케이션을 사용하는 동안 지속적으로 유지해야 하는 정보는 쿠키를 사용해서 저장하면 됨

쿠키 생성은 어떻게 할까?

  • Cookie cookie = new Cookie("memberId","admin");
  • Response.addCookie(cookie); // 응답 해주는 것

쿠키 삭제는 어떻게 할까?

  • cookie.setMaxAge(0);
  • response.addCookie(cookie);

cookie01.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>

<title>Cookie</title>
</head>
<body>
	<form method="post" action="cookie01_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>

cookie01_process.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>

<title>Cookie</title>
</head>
<body>
<%	
	//?id=admin&passwd=1234
	String user_id =request.getParameter("id");//name값을 받아서 넣어라uer_id에
	String user_pw =request.getParameter("passwd");//name값을 받아서 넣어라uer_pw에
	
	if(user_id.equals("admin") && user_pw.equals("1234")){
		//Cookie 객체 생성
		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.print("쿠키 생성 성공!");
		out.print(user_id+"님 환영합니다");
	}else{
		out.print("쿠키 생성 실패");
		
	}

%>
</body>
</html>

cookie02.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%

	//쿠키 정보를 얻어오기
	Cookie[] cookies = request.getCookies();

	for(int i=0;i<cookies.length;i++){
		out.print("설정된 쿠키의 속성 명["+i+"] : "
		+ cookies[i].getName() + "<br />");
		out.print("설정된 쿠키의 속성 명["+i+"] : "
		+ cookies[i].getValue() + "<br />");
		out.print("=====================<br />");
	}
%>

profile
신입 개발자 입니다!!!

0개의 댓글