-Cookie 용량제한은 한 도메인당 20개 쿠키 하나당 4KB
-Session의 용량제한은 서버가 허용하는 한 용량제한 없음
쿠키 생성하기
<%@page import="java.net.URLEncoder"%>
<%@ 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>쿠키 생성</h1>
<%
Cookie cookie1 = new Cookie("first_cookie","첫번째쿠키생성");
Cookie cookie2 = new Cookie("second_cookie", URLEncoder.encode("두번째 쿠키생성","UTF-8"));
Cookie cookie3 = new Cookie("third_cookie","세번째+쿠키생성");
response.addCookie(cookie1);
response.addCookie(cookie2);
response.addCookie(cookie3);
%>
<a href="ex01selectCookie.jsp">쿠키 확인</a>
</body>
</html>
쿠키 생성하기 코드
new Cookie("쿠키 이름", "쿠키값(데이터)");
인코딩을 해줘야한다
URLEncoder.encode("문자열"),;
응답 쿠키 추가
add.Cookie(cookie객체);
쿠키 가져오기
<%@page import="java.net.URLDecoder"%>
<%@ 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>쿠기 조회</h1>
<%
Cookie[] cookies = request.getCookies();
for(Cookie c:cookies){
if(c.getName().contains("cookie")){
String value = URLDecoder.decode(c.getValue(),"UTF-8");
String name = c.getName();
out.print(name+":"+value+"<br>");
}
}
%>
<a href = "ex01deleteCookie">쿠키 삭제 </a>
</body>
</html>
쿠키 가져오기
Cookie[] cookies = request.getCookies();
request.getCookies() 이용해서 가져올수 있다 / 단 전부 가져오기만 가능!
for(꺼내담을 변수명 : 배열){
}
String.contains("문자열")--->매개변수로 준 문자열을 포함하고 있는지 없는지
cookie값 가져오기 -->c.getvalue 값을 가져와라 ??---> .get 생각해라 항상!!
인코딩 풀어줘야한다 -----> 디코딩
URLDecoder.decode("인코딩된 문자열", "인코딩방식");
cookie 이름 가져오기
c.getname();
쿠키 삭제하기
package Controller;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/ex01deleteCookie")
public class ex01deleteCookie extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Cookie cookie4 = new Cookie("fourth_cookie", "네번째쿠키");
Cookie cookie2 = new Cookie("second_cookie", "");
cookie2.setMaxAge(0);
cookie4.setMaxAge(60*60*24*365);
response.addCookie(cookie4);
response.addCookie(cookie2);
response.sendRedirect("ex01selectCookie.jsp");
}
}
쿠키 삭제하기
cookie.setMaxAge(초단위 정수형)
.setMaxAge(0); ----> 즉시 지움
매개변수 : 유효기간( 초단위 )
실습 실행
'JSP,Servlet' 카테고리의 다른 글
JSP / 세션 혼자 복습 (0) | 2022.01.10 |
---|---|
JSP - Session객체 생성/가져오기/ 삭제 (0) | 2022.01.08 |
JSP/jdbc- 회원가입 실습문제 (0) | 2022.01.06 |
JSP - 회원가입/로그인 만들기 실습 (0) | 2022.01.05 |
JSP - sendRedirect 개념/실습문제 네이버로 이동 (0) | 2022.01.05 |