서버는 클라이언트의 1건의 요청에 응답 후 연결을 끊는다. WHY? 서버가 요청오는 모든 클라이언트와 계속 연결이 되어있으면 서버쪽에 부담이 되기때문에!
이때 요청에 응답하면서 쿠키를 함께 보낸다. WHY? 아 옛날에 그 클라이언트구나?! 하면서 클라이언트를 구분해서 인지할수있고 빠른 응답이 가능하기때문에!
1-2. 쿠키사용방법
쿠키 생성하기
서버
서버는 쿠키 객체를 생성
서버는 쿠키에 필요한 설정을 지정(유효기간, 설명, 도메인, … 등등)
서버가 생성된 쿠키를 HDD에 저장 후 클라이언트에 쿠키를 전달
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
<h1>쿠키테스트(서버 역할)</h1> <% //1.쿠키객체생성 : 기본생성자이면 에러가 뜨니 기본값을 직접 입력해주거나 꼭 파라미터를 작성할 것 //아래처럼 직접 입력시 공백있으면 에러남 ex)"Cookie Val!" =>에러발생 Cookie ck = new Cookie("cName", "CookieValue!");
//2.쿠키에 필요한 설정 : 시간설정(사용할 수 있는 시간을 지정) ck.setMaxAge(600); //초단위, 600초 = 10분(60초*10)
//3.쿠키정보를 저장해서 응답 response.addCookie(ck); %>
<scripttype="text/javascript"> alert("쿠키값생성 후 저장됨"); location.href="cookieTest.jsp"; </script>
//1.쿠키객체생성 : 기본생성자이면 에러가 뜨니 기본값을 직접 입력해주거나 꼭 파라미터를 작성할 것 , 직접입력시 공백있으면에러남 Cookie ck = new Cookie("lang", request.getParameter("language")); //두번째방법 : 첫번째 방법도 쓸수있어야한다(짧은 코드) //String lang = request.getParameter("language"); //Cookie ck = new Cookie("lang", lang);
//2.쿠키에 필요한 설정 : 시간설정(사용할 수 있는 시간을 지정) ck.setMaxAge(120); //초단위, 600초 = 10분(60초*10) //3.쿠키정보를 저장해서 응답 response.addCookie(ck); //response.sendRedirect("location href='cookieForm.jsp'"); %>