解答例 - 実習課題1 - 4.クッキーとセッション
(実習課題1)
以下のサーブレットプログラムを作成しなさい。
- そのページに何回訪れたかを表示する。
- 訪れた回数の情報は、クッキーで管理する。
解答例
/* * CookieServlet.java TECHSCORE Java Servlet4章 実習課題1 * * Copyright (c) 2004 Four-Dimensional Data, Inc. */ package com.techscore.servlet.chapter4.exercise1; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class CookieServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { int count = 0; Cookie[] cookies = request.getCookies(); Cookie cookie = null; if (cookies != null) { for (int i = 0; i < cookies.length; i++) { if (cookies[i].getName().equals("count")) { count = Integer.parseInt(cookies[i].getValue()); break; } } count++; cookie.setValue(String.valueOf(count)); } else { cookie = new Cookie("count", "1"); } cookie.setMaxAge(60 * 5); response.addCookie(cookie); response.setContentType("text/html; charset=Shift_JIS"); PrintWriter writer = response.getWriter(); writer.println("<html><head><title>Servlet4章Exercise1</title>"); writer.println("</head><body>"); writer.println("カウンタ:"); writer.println(cookie.getValue()); writer.println("</body></html>"); } }