クッキー情報をすべて表示させてみる
では、実際にクッキーを利用してみましょう。まずは、「保存されているクッキー情報をすべて表示する」ということをJSPでやってみることにしましょう。これは、比較的簡単そうですね。Cookie配列を取得し、それを繰り返しで書き出していけばよいのですから。
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>JSP Page</h1>
<%
// クッキーの表示
Cookie[] cookies = request.getCookies();
if (cookies != null) {
out.println("<table border=1>");
for(int i = 0;i < cookies.length;i++) {
Cookie c = cookies[i];
out.println("<tr>");
out.println("<td>" + c.getName() + "</td>");
out.println("<td>" + c.getValue() + "</td>");
out.println("</tr>");
}
out.println("</table>");
out.println("<br/><br/>");
}
%>
<form action="NewServlet" method="POST">
NAME:<input name="name" type="text"><br>
VALUE:<input name="value" type="text"><br>
<input type="submit">
</form>
</body>
</html>
こんな感じになりました。ここでは、request.getCookiesでCookie配列を取得し、それを繰り返しでgetName、getValueしては出力する、ということを繰り返しています。処理自体は非常に単純ですね。
ここでは、クッキーの表示の後にフォームを用意して、そこからNewServletに送信するようにしてあります。こうして送信した値を元に、新たにクッキーを追加登録しようというわけです。