쿠키는 서버가 클라이언트에 저장하는 정보
클라이언트와 연결이 끊어져도 클라이언트에 저장된 정보가 유지되어 서버에 재 방문할 때 요청정보의 헤더 안에 포함되어 서버로 전달
쿠키 생성
쿠키를 생성하려면 javax.servlet.http.cookie 객체를 생성
Cookie c1 = new Cookie("쿠키이름","쿠키값");
쿠키 유효시간 설정은 setMaxAge( )를 사용하며 인자 값으로 초단위의 쿠키 유효시간을 지정
c1.setMaxAge(60*60*3);
서버의 특정경로 요청에서만 쿠키를 전송하고자 할때 setPath( ) 메소드를 사용
setPath() 메소드의 인자값으로 지정하면, 지정된 경로와 그것의 하위 경로의 요청에 대해서만 클라이언트로부터 쿠키가 전송
c1.setPatch("/");
쿠키는 기본적으로 전송된 서버에서만 읽어 들일 수 있지만 도메인을 설정하여 하나의 서버에서 클라이언트로 전송된 쿠키를 다른 서버에서 읽어 들일 수 있다.
// 정확히 일치하는 도메인
c1.setDomain("www.sunkoo.com")
//서브 도메인 허용 "it.sunkoo.com" 또는 "math.sunkoo.com"
c1.setDomain(".sunkoo.com")
생성된 쿠키를 클라이언트로 보내기 위해서 HttpServletResponse 객체의 addCookie( ) 메소드를 이용
//addCookie( ) 메소드의 인자값에 전송할 Cookie 객체를 설정한다.
resp.addCookie(c1);
쿠키 추출
클라이언트로 전송된 쿠키를 서버쪽에서 읽어 들이려면 HttpServletRequest 객체의 getCookies() 메소드를 이용
Cookie[] list = req.getCookies();
쿠키의 이름을 추출할 때는 Cookie 객체의 getName( ) 메소드를 사용
for(int i=0; list!=null && i < list.length; i++ )
{
out.println(list[i].getName() + "<br>");
}
쿠키의 값을 추출 할때는 Cookie 객체의 getValue( ) 메소드를 사용
for(int i=0; list!=null && i < list.length; i++ )
{
out.println(list[i].getValue() + "<br>");
}
'JSP' 카테고리의 다른 글
RequestDispatcher (0) | 2023.03.13 |
---|---|
세션 - Session (0) | 2023.03.13 |
질의 문자열 (0) | 2023.03.13 |
웹서버의 처리순서 (0) | 2023.03.13 |
서블릿 구현하기 (0) | 2023.03.13 |