쿠키
쿠키 : 사용자의 HDD에 접근해서 가져오는 데이터
- 쿠키는 오로지 String형만 저장이 가능
- session은 웹 브라우저 닫기 전 까지 유효하다
- cookie는 사용자의 hdd에 저장한다.
쿠키 생성하기
- 쿠키 객체는 key값(String)과 value값(String)을 생성자로 가진다.
- 쿠키의 정보는 response객체의 addCookie 메서드를 이용해서 추가한다.
<%
Cookie coo1=new Cookie("aa","bb");
Cookie coo2=new Cookie("cc","dd");
response.addCookie(coo1);
response.addCookie(coo2);
%>
쿠키 정보 요청
- getName메서드와 getValue 메서드를 이용해서 쿠키의 정보를 요청 할 수 있다.
<%
Cookie[] array=request.getCookies();
if(array!=null){
for(Cookie coo: array){
out.print(coo.getName());
out.print(":");
out.print(coo.getValue());
out.print("<br/>");
}
}
%>
쿠기 값 읽어오기
- request객체의 getCookies() 메서드를 이용해서 쿠키의 값을 읽어 올 수 있다.
<%
Cookie[] array=request.getCookies();
if(array!=null){
for(int i = 0; i< cookies.length; i++){
%>
<%=cookies[i].getName() %>
<%=URLDecoder.decode(cookies[i].getValue(), "utf-8") %><br>
//cookie로 저장될때 암호화 하기때문에 utf-8로 디코딩 해줘야 한글처리가 가능함.
<%
}else{
out.print("쿠키가존재하지않습니다.")
}
쿠키정보삭제 : setMaxAge메서드에 0을 넣어서 삭제가 가능함
Cookie[] array=request.getCookies();
if(array!=null){
for(Cookie coo: array){
if(coo.getName().equals("id")){
Cookie c=new Cookie("id",""); //id정보를 빈칸으로 반들고
c.setMaxAge(0); //쿠키의 수명을 0으로 해서 정보를 삭제
response.addCookie(c); //정보가 삭제된 쿠키를 추가
}
}
}
쿠키의 도메인 : setDomain(도메인 주소)
- 해당 도메인에서만 쿠키의 정보를 가져가게 설정
- 쿠키는 기본적으로 그 쿠키를 생성한 서버에만 전송된다.
반응형