쿠키 입력과 삭제
문제 : 뇌자극 JSP/Servlet 240~242 Page
쿠키를 지우는 건 인터넷 사용기록 삭제에서 할 수 있지만 그렇게 되면 다른 쿠키도 다 날아가기 때문에 현재 페이지 내에서 사용한 쿠키만 지우는 것까지 추가로 구현해봤다. 그래봤자 몇 줄 안 되는 소스를 붙여놓은 거라 대단한 것마냥 너스레를 떨 껀덕지는 없고.
1. InputCookie.html
--------------------------------------------------------------------------------
<html>
<head>
<title>쿠키 입력하기</title>
<META http-equiv="Content-Type"/ content = "text/html;charset=euc-kr">
</head>
<body>
<form action = MakeCookie.jsp>
쿠키 이름 : <input type = text name = COOKIE_NAME><br/>
쿠키 값 : <input type = text name = COOKIE_VALUE><br/>
<input type = submit value = '확인'/>
</form>
</body>
</html>
--------------------------------------------------------------------------------
2. MakeCookie.jsp
--------------------------------------------------------------------------------
<%@ page language="java" pageEncoding="EUC-KR"%>
<%@ page session = "false" %>
<%@ page import="java.net.URLEncoder" %>
<%
String cookieName = request.getParameter("COOKIE_NAME");
String cookieValue = request.getParameter("COOKIE_VALUE");
cookieName = URLEncoder.encode(cookieName, "euc-kr");
response.addCookie(new Cookie(cookieName, cookieValue));
response.sendRedirect("DisplayCookies.jsp");
%>
--------------------------------------------------------------------------------
3. DisplayCookies.jsp
--------------------------------------------------------------------------------
<%@ page language="java" pageEncoding="EUC-KR"%>
<%@ page session = "false" %>
<%@ page import="java.net.URLDecoder" %>
<html>
<head>
<title>쿠키 보여주기</title>
</head>
<body>
쿠키 이름 : 쿠키 값<br/>
==============<br/>
<%
Cookie cookies[] = request.getCookies();
if(cookies != null)
{
for(Cookie cookie : cookies)
{
String name = URLDecoder.decode(cookie.getName(), "euc-kr");
String value = cookie.getValue();
out.println(name + " : " + value + "<br>");
}
}
%>
<br/>
<a href = "InputCookie.html">쿠키 입력 화면으로</a>
<a href = "DeleteCookie.jsp">초기화</a></a>
</body>
</html>
--------------------------------------------------------------------------------
4. DeleteCookie.jsp
--------------------------------------------------------------------------------
<%@ page language="java" pageEncoding="EUC-KR"%>
<%@ page session = "false" %>
<%
Cookie[] cookies = request.getCookies();
for(int i=0; i < cookies.length; i++)
{
cookies[i].setMaxAge(0);
response.addCookie(cookies[i]);
}
%>
<html><head><title>저장된 값 초기화</title></head>
<body>
모두 삭제하였습니다.<br/>
<a href = "InputCookie.html">쿠키 입력 화면으로</a></body>
</html>
--------------------------------------------------------------------------------
실행 결과