///////////////////////////////////////////////////////////////////////////////
//  << sv141c.java >>
//
// サーブレット(4):セッション管理(セッションの有効期間)
//
//  一定時間後、セッションを破棄することができる。
//
// ●HttpSessionインターフェースのメソッド
//  public int getMaxInactiveInterval()
//   機能:セッションを維持する最大の時間間隔を秒数で返す。
//      この間隔が経過した後に、サーブレットコンテナはセッションを
//      無効にする。
//
// ●起動法
//  (1)Javaファイル(sv141c.java)をコンパイルし、classファイル(sv141c.class)を
//       作成する。
//       ただし、Javaファイル(sv141c.java)は、
//       %CATALINA_HOME%\webapps\SV\WEB-INF\classes\sv141c.java
//     classファイル(sv141c.class)は、
//       %CATALINA_HOME%\webapps\SV\WEB-INF\classes\sv141c.class
//       に保存する。
//    (2)入力フォームで、
//         URL(http://localhost:8080/SV/servlet/sv141c)
//       を指定する。
//
///////////////////////////////////////////////////////////////////////////////

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

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

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

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

    // セッション維持時間を設定。
    hs.setMaxInactiveInterval(60);

    // コンテンツタイプの指定。
    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>"
               + "現在のsessionID:" + sid + "<br>");
    } else {
      pw.println("既存のセッションです<br>"
               + "現在のsessionID:" + sid + "<br>");
    } 

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

実行後


60秒経過前に更新をクリック


60秒経過後に更新をクリック