目次へ

解答例 - 実習課題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>");
    }
}

↑このページの先頭へ

こちらもチェック!

PR
  • XMLDB.jp