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を使用しています。
最新記事 by hayato (全て見る)
- Uberで楽々!🚖✨ リオでキリスト像の絶景🌄と極上ステーキ🥩🍽️を味わう🇧🇷🌞 – 2024年7月27日
- リオへの道のりがワイルドすぎる⁉️🚖 サンタクルス発✈️南米での航空券&Uber体験💥✨ – 2024年7月26日
- 2時間の飛行機遅延!? ボリビア🇧🇴ラパスの絶景ロープウェイ🚡と激安グルメ🍝を味わった旅🚌 – 2024年7月25日
コメントを残す