Java Servletでセッション管理の手順

Java Servletでセッション管理の手順を備忘録。

仕様説明

訪問数によって訪問メッセージを変更させる。
2回目以降は 前回訪問した日時を表示させる。

手順スタート

HelloServletを右クリック→新規→サーブレットをクリック。
新規サーブレット ウインドウが開くと下記の通りに記入および選択をする。

Javaパッケージ:session
クラス名:SessionServlet
スーパークラス:javax.servlet.http.HttpServlet

SessionServlet.javaの編集

package session;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;

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 {

private static final long serialVersionUID = 1L;

/**
* コンストラクタ
*/
public SessionServlet() {
super();
}

/**
* doGet
*
* @param request
* @param response
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// セッションを取得
HttpSession httpSession = request.getSession();

// 訪問回数
Integer visitCount = (Integer) httpSession.getAttribute(count);

// 訪問日
Date visitDate = (Date) httpSession.getAttribute(date);

String greetingMsg;

String printDate;

if (visitCount == null) {

visitCount = new Integer(1);
visitDate= new Date();

greetingMsg = 初訪問ありがとうございます。;
printDate = ;

} else {

visitCount = new Integer(visitCount.intValue() + 1);

greetingMsg = visitCount + 回目の訪問ありがとうございます。;
printDate = (前回: + visitDate + );

visitDate = new Date();
}

// セッションの設定
httpSession.setAttribute(count, visitCount);
httpSession.setAttribute(date, visitDate);

// エンコーディング
response.setContentType(text/html; charset=Windows-31J);

PrintWriter out = response.getWriter();

// 出力
out.println(<html>);
out.println(<body>);
out.println(<h1>セッションサンプル</h1>);
out.println(<p> + greetingMsg + </p>);
out.println(<p> + printDate + </p>);
out.println(</body>);
out.println(</html>);
}
}

Tomcatを立ち上げ、Webブラウザよりhttp://localhost:8080/HelloServlet/SessionServletにアクセスする。

この画面が表示されたらOKです。

再度 アクセスすると下記の画面が表示されます。

これで Java Servletでセッション管理は ばっちりですね。

MergeDoc ProjectよりEclipse 3.5 Galileo Pleiades All in Oneを使用しています。

The following two tabs change content below.
渋谷でWebエンジニアをしています。 株主優待目的で日本株からはじめ、投資信託・米国株の流れで投資しています。 最近は懸賞もハマってます(笑) 旅の思い出ログ、投資運用ログ、株主優待ログが中心のブログです。 どうぞ、よろしくお願いします!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)