*쿠키(Cookie)
웹 어플리케이션이 사용자의 상태를 기억하기 위함.
→영속적으로 저장되어야 하는 것 : DB에 저장.
중요하지 않고 일시적으로 저장되야하는 것 : 쿠키,세션.
쿠키는 사용자가 저장, 세션은 서버가 저장.
쿠키의 구성요소
-이름 : 각각의 쿠키를 구별하는 데 사용되는 이름.
-값 : 쿠키의 이름과 관련된 값.
JSP에서 쿠키 생성 / 읽기
<%
Cookie cookie = new Cookie("cookieName", "cookieValue");
response.addCookie(cookie);
%>
클라이언트가 보낸 쿠키 읽기
Cookie[] cookies = request.getCookies();
사용자가 쿠키를 제출하면 request객체로 부터 읽어들임.
쿠키 값의 인코딩/디코딩 처리
-쿠키는 값으로 한글과 같은 문자를 가질 수 없음
쿠키의 값을 인코딩해서 지정할 필요 있음.
*예제
-쿠키를 만들어서 발급하는 makeCookie.jsp
-사용자가 제출하는 쿠키를 읽어서 출력하는 viewCookie.jsp
-쿠키를 제거하는 deleteCookie.jsp
원래 있던 k에 대해 유횻시간이 0인 쿠키를 새로 발급하는것.
*makeCookie.jsp
<body>
<%
Cookie cookie = new Cookie("name", URLEncoder.encode("홍길동"));
response.addCookie(cookie);
%>
쿠키가 생성되었습니다
<br>
생성된 쿠키의 이름 : <%= cookie.getName() %>
<br>
생성된 쿠키의 값 : <%= cookie.getValue() %>
</body>
*viewCookie.jsp
<body>
쿠키목록<br>
<%
request.setCharacterEncoding("UTF-8");
Cookie[] cookies = request.getCookies();
if(cookies != null && cookies.length > 0)
{
for(Cookie cookie : cookies)
{
out.println(cookie.getName() + " : ");
out.println(URLDecoder.decode(cookie.getValue(), "UTF-8") + "<br>");
}
}
else
out.println("쿠키없음");
%>
</body>
*deleteCookie.jsp
<body>
<%
request.setCharacterEncoding("UTF-8");
Cookie[] cookies = request.getCookies();
if(cookies != null && cookies.length > 0)
{
for(int i = 0; i < cookies.length; i++)
{
if(cookies[i].getName().equals("name"))
{
Cookie cookie = new Cookie("name", "");
cookie.setMaxAge(0);
response.addCookie(cookie);
}
}
}
%>
name쿠키 삭제
</body>
'[JSP]' 카테고리의 다른 글
[JSP]10월 28일 CookieBox 만들기예제 (0) | 2015.10.30 |
---|---|
[JSP]10월 28일 forward, form, 쿠키(Cookie), 쿠키삭제 를 활용한 로그인 예제 (0) | 2015.10.29 |
[JSP]10월 27일 forward,form을 이용한 로그인 예제 (0) | 2015.10.29 |
[JSP]10월 26일 자바 서블릿(JAVA Servlet)만드는방법, web.xml (0) | 2015.10.26 |
[JSP]10월 23일 JSP웹 어플리케이션 프로젝트 만들기 (0) | 2015.10.23 |