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

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

仕様説明

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

手順スタート

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

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

SessionServlet.javaの編集

[code lang=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>);
}
}
[/code]

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エンジニアをしています。 株主優待目的で日本株からはじめ、投資信託・米国株の流れで投資しています。 最近は懸賞もハマってます(笑) 旅の思い出ログ、投資運用ログ、株主優待ログが中心のブログです。 どうぞ、よろしくお願いします!

コメントを残す

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

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

About Us

Sed gravida lorem eget neque facilisis, sed fringilla nisl eleifend. Nunc finibus pellentesque nisi, at is ipsum ultricies et. Proin at est accumsan tellus.

Featured Posts