目次へ

解答例 - 実習課題3 - 4.クッキーとセッション

(実習課題3)

実習課題2のプログラムを改良しなさい。

  • セッションの有効期限を1分とする。「WEB-INF/web.xml」で設定を行う事。

タイムアウト後にどのような挙動になるか確かめる事。

解答例

/*
 * SessionServlet.java
 * TECHSCORE Java Servlet4章 実習課題4
 *
 * Copyright (c) 2004 Four-Dimensional Data, Inc.
 */
package com.techscore.servlet.chapter4.exercise4;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class SessionServlet extends HttpServlet {

    protected void doGet(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException {
        HttpSession session = request.getSession();
        Integer count = (Integer) session.getAttribute("count");
        response.setContentType("text/html; charset=Shift_JIS");
        if (count == null) {
            count = new Integer(1);
        } else {
            count = (Integer) session.getAttribute("count");
        }
        String link = new String("servlet4-4");
        link = response.encodeURL(link);

        PrintWriter writer = response.getWriter();
        writer.println("<html><head><title>Servlet4章Exercise4</title>");
        writer.println("</head><body>");
        writer.println("カウンタ:");
        writer.println(count.toString());
        writer.println("<br><a href=\"" + link + "\">リンク</a>");
        writer.println("</body></html>");

        session.setAttribute("count", new Integer(count.intValue() + 1));
    }
}

↑このページの先頭へ

こちらもチェック!

PR
  • XMLDB.jp