티스토리 뷰
반응형
Cookie의 옵션 중 Path에 대해서 알아보자!
Cookie의 Path 옵션이란?
여러 서블릿마다 필요한 Cookie가 다르다. 그래서 효율적으로 Cookie를 전달하기 위해서 사용하는 옵션이다.
URL과 관련된 서블릿에게만 Cookie가 전달되도록 할 수 있다.
코드를 통해서 알아보자!
/*Calc2.java 코드 일부*/
/*쿠키 생성 및 저장 */
Cookie valueCookie = new Cookie("value", String.valueOf(v));
//문자열만 사용 할 수 있기 때문에 String.valueOf()로 변환시켜준다.
Cookie btnCookie = new Cookie("btn", btn);
valueCookie.setPath("/"); //valueCookie는 모든 경로가 호출 될때 Cookie 값을 전달.
btnCookie.setPath("/"); //btnCookie는 모든 경로가 호출 될때 Cookie 값을 전달.
response.addCookie(valueCookie);
response.addCookie(btnCookie);
두줄의 코드를 추가해주었다.
valueCookie.setPath("/");
=> valueCookie는 모든 경로가 호출될 때 Cookie 값을 전달.
btnCookie.setPath("/");
=> btnCookie는 모든 경로가 호출 될때 Cookie 값을 전달.
이렇게 코드가 있다면 모든 서블릿에서 이 Cookie를 전달받게 될 것이다.
그렇다면 지금 사용하고 있는 서블릿인 calc2만 호출하려면 어떻게 코드를 작성해야 할까?
/*Calc2.java 코드 일부*/
/*쿠키 생성 및 저장 */
Cookie valueCookie = new Cookie("value", String.valueOf(v));
//문자열만 사용 할 수 있기 때문에 String.valueOf()로 변환시켜준다.
Cookie btnCookie = new Cookie("btn", btn);
valueCookie.setPath("/calc2"); ///valueCooke는 calc2하위 URL이 호출 될때 Cookie 값을 전달.
btnCookie.setPath("/calc2"); //btnCookie는 calc2하위 URL이 호출 될때 Cookie 값을 전달.
response.addCookie(valueCookie);
response.addCookie(btnCookie);
valueCookie.setPath("/calc2");
=> /calc2로 설정하면 하위의 URL이 호출될 때에만 Cookie값이 전달된다.
btnCookie.setPath("/calc2");
=> /calc2로 설정하면 하위의 URL이 호출될 때에만 Cookie값이 전달된다.
Response Headers에서 Set-Cookie를 보면 Path=/calc2가 전달되는 것을 확인할 수 있다.
또한 브라우저 내의 다운로드한 쿠키를 확인해도 알 수 있다.
이렇게 옵션을 통해서 Cookie를 설정한다면,
다른 서블릿에 불필요한 Cookie를 전달하지 않아 효과적으로 사용할 수 있게 된다.
반응형
'Servlet JSP' 카테고리의 다른 글
redirect 페이지전환 (0) | 2021.04.24 |
---|---|
Application / Session / Cookie 특징 (0) | 2021.04.24 |
상태유지 Cookie(자바 공부도 해야되는데.... 코드 어렵) (0) | 2021.04.23 |
상태유지 Session 이용(feat. Application 객체와 차이점) (0) | 2021.04.23 |
상태유지 Application 이용 (0) | 2021.04.23 |
댓글
공지사항