///////////////////////////////////////////////////////////////////////////////
//  << sv141b.java >>
//
// サーブレット(4):セッション管理(セッションの確認)
//
//  Webブラウザからの要求によりセッションを開始する。
//    セッションが新規に開始されたか、すでに開始されているか、Webブラウザで
//  接続直後、更新をクリック後で確認する。
//
// ●HttpSessionインターフェースのメソッド
//  public boolean isNew()
//   機能:セッションが新規の場合、true を返す。
//
// ●起動法
//  (1)Javaファイル(sv141b.java)をコンパイルし、classファイル(sv141b.class)を
//       作成する。
//       ただし、Javaファイル(sv141b.java)は、
//       %CATALINA_HOME%\webapps\SV\WEB-INF\classes\sv141b.java
//     classファイル(sv141b.class)は、
//       %CATALINA_HOME%\webapps\SV\WEB-INF\classes\sv141b.class
//       に保存する。
//    (2)入力フォームで、
//         URL(http://localhost:8080/SV/servlet/sv141b)
//       を指定する。
//
////////////////////////////////////////////////////////////////////////////////

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class sv141b extends HttpServlet {
  public void doPost(HttpServletRequest request, HttpServletResponse response)
                     throws ServletException,IOException {

    // セッションオブジェクトの取得。
    HttpSession hs = request.getSession(true);

    // sessionIDの取得。
    String sid = hs.getId();

    // コンテンツタイプの指定。
    response.setContentType("text/html; charset=Shift_JIS");

    // HTML文書の出力。
    PrintWriter pw = response.getWriter();
    pw.println("<html>"                                    
             + "<head><title>サーブレット</title></head>"  
             + "<body>"                                    
             + "セッションの開始<br>");            

    if( hs.isNew() ) {
      pw.println("新規のセッションです<br>");
    } else {
      pw.println("既存のセッションです<br>");
    } 
    pw.println("sessionID:" + sid + "<br>");

    pw.println("</body>"                                   
             + "</html>");                                 
    pw.flush();
    pw.close();
  }
}
入力フォーム
<form action=http://localhost:8080/SV/servlet/sv141b method=POST>
  <input type=submit value=実行>
</form>
実行結果

実行後


更新のクリック後