쿠키(Cookie)
URL Rewriting 방식, Hidden Field 방식처럼 매 페이지마다 서비스에 필요한 데이터를 처리하지 X,
웹 클라이언트 측 자원만을 사용하여 웹 서비스 요청 시 데이터를 첨부하여 전송.
쿠키 = 카페 스탬프 쿠폰!!
클라이언트가 만들고 싶으면 만들고 싫으면 안만들어도 된다. (카페 스탬프 쿠폰과 동일)
추가적인 서비스의 질적 향상, 나에게 최적화된 서비스를 더 받고 싶다면 만들어두는 게 유리.
★
-웹 서버가 제시해서 웹 클라이언트에 저장
-웹 서버는 쿠키를 따로 관리하지 않는다.
(카페에서 쿠폰 관리 따로 X, 내 지갑에만 있음)
-웹 클라이언트는 해당 쿠키를 만들어줄 서버에 요청을 보낼 때 이 쿠키를 첨부하여 요청을 전송
(다시 카페에 방문할 때 쿠폰을 들고 올 것이다.)
쿠키 구성
name(이름) : 쿠키의 이름을 지정(★★★★★)
value(값) : 쿠키 이름에 매칭되는 값 지정(★★★★★)
expires(유효 시간) : 쿠키의 만료 기간 지정
domain(도메인) : 저장된 쿠키 요청 시 전송될 웹 서버의 도메인 지정
path : 쿠키가 전송될 웹 서버의 URL 지정(URL이 유효할 경우만 쿠키 전송)
secure : SSL과 같은 보안적 채널을 사용하는 경우에만 쿠키 전송
Cookie 클래스를 이용한 쿠키 생성, 사용
<%
Cookie cookie = new Cookie(name, value);
response.addCookie(cookie);
%>
-Cookie 클래스는 객체 생성과 동시에 쿠키의 이름과 값을 지정할 수 있다.
-생성한 Cookie 객체를 클라이언트로 전송하기 위해 response 내장객체의 addCookie() 메서드 사용
-만약 동일한 이름의 쿠키가 웹 클라이언트에 먼저 저장되어 있는 경우 현재 추가된 쿠키로 덮어쓰여진다.
-getName() : 쿠키 이름 반환
-getValue() : 쿠키 값 반환
-setValue() : 쿠키 값 지정
-setDomain() : 도메인 지정
-getDomain() : 도메인 반환
-setPath() : 경로 지정
-getPath() : 경로 반환
-setMaxAge() : 쿠키 유효 시간 초 단위로 지정
-getMaxAge() : 쿠키 유효 시간 초 단위로 반환
쿠키 로그인 예제 (아이디 저장 기능)
최초 실행될 로그인 기능을 갖춘 CookieSeesionLogin.jsp 페이지 제작
CookieSeesionSet.jsp 페이지 제작
->[로그인]버튼 누르면 POST 방식으로 아이디, 비밀번호, 아이디 저장 옵션 선택을 위한
rememberId 값이 CookieSessionSet.jsp 페이지로 전달된다.
CookieSessionChk.jsp 페이지 제작
-CookieSessionSet.jsp 페이지에서 생성된 쿠키를 토대로 사용자의 로그인 정보 출력
CookieSeesionLogout.jsp 페이지 제작
-[로그아웃] 버튼을 눌렀을 때 호출되는 페이지, 현재 접속된 세션을 종료시키는 역할 담당.
★쿠키 삭제 메서드는 존재하지 않으므로
setMaxAge() 메서드를 사용하여 쿠키 유효시간을 0으로 설정.
1. CookieSessionLogin.jsp 페이지를 호출하고 아이디 기억 옵션을 체크하지 않았을 때
2. CookieSessionLogin.jsp 페이지를 호출하고 아이디 기억 옵션을 체크했을 때
이후 다시 CookieSessionLogin.jsp 페이지가 호출되면 아이디 입력란에 "TestID" 값이 채워져있고
아이디 기억 옵션도 먼저 체크되어 있다.
'📒 education archive > 📍Servlet, JSP' 카테고리의 다른 글
JSP 공부 기록(8)-jsp 액션태그 (0) | 2021.08.29 |
---|---|
JSP 공부 기록(7)-HttpSession, 세션 내장 객체 (0) | 2021.08.28 |
JSP 공부 기록(5)-세션 관리, URL Rewriting, Hidden Field, 예제 (0) | 2021.08.22 |
JSP 공부 기록(4)-JSP 에러 처리, 예제 (0) | 2021.08.21 |
JSP 공부 기록(3)-내장 객체,Redirect,Forward,Include (0) | 2021.08.16 |