セッションID
日本語 | 対話期間識別子 |
英語 | session identification |
ふりがな | せっしょんあいでぃー |
フリガナ | セッションアイディー |
セッション単位で作られる文字列。
「DD2827F78048A6D90EF4B71A10AF97AF」のように、全角英数字によって構成された、十分に長いランダムな文字列。
この文字列がクッキーに登録されるか、リクエストパラメーターで渡されることでセッションが保たれる。
一定期間リクエストがないと、セッションタイムアウトとなり、セッションIDは無効となる。
セッションIDはHttpSessionインターフェイスのgetId()メソッドで取得できる。
だが、このセッションIDを直接取り扱うことはないだろう。
「DD2827F78048A6D90EF4B71A10AF97AF」のように、全角英数字によって構成された、十分に長いランダムな文字列。
この文字列がクッキーに登録されるか、リクエストパラメーターで渡されることでセッションが保たれる。
一定期間リクエストがないと、セッションタイムアウトとなり、セッションIDは無効となる。
セッションIDはHttpSessionインターフェイスのgetId()メソッドで取得できる。
だが、このセッションIDを直接取り扱うことはないだろう。
// webapps/sample-servlet/WEB-INF/src/SampleServlet.java
// http://localhost:8080/sample-servlet/servlet/SampleServlet でアクセスできます。
// このサンプルプログラムは「サーブレット」の項目に書かれている準備を行ってから使用してください。
import java.io.IOException;
import java.io.PrintWriter;
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 SampleServlet extends HttpServlet
{
/**
* リクエストとしてHTTPメソッドのGETが渡されるとこのメソッドが呼ばれます。
*/
public void doGet( HttpServletRequest request, HttpServletResponse response ) throws IOException, ServletException
{
// Content-Typeをセット。
response.setContentType( "text/html;charset=Windows-31J" );
// HttpSessionを取得します。
HttpSession session = request.getSession( true );
// セッションから、「value」の名前で登録されているデータを取得します。
String value = (String)session.getAttribute( "value" );
// 追記します。
value += "/ばりゅー";
// 「value」の名前でセッションに登録します。
session.setAttribute( "value", value );
// セッションIDを出力します。
System.out.println( session.getId() );
// DD2827F78048A6D90EF4B71A10AF97AF
// HTML出力用のPrintWriterを取得します。
PrintWriter out = response.getWriter();
// HTMLを出力します。
out.println( "<HTML>" );
out.println( "<HEAD>" );
out.println( "<TITLE>サーブレットのテスト</TITLE>" );
out.println( "</HEAD>" );
out.println( "<BODY>" );
out.println( value );
out.println( "</BODY>" );
out.println( "</HTML>" );
// null/ばりゅー/ばりゅー/ばりゅー/ばりゅー/ばりゅー
// ……と、リロードするたびに増えていきます。
}
}
// http://localhost:8080/sample-servlet/servlet/SampleServlet でアクセスできます。
// このサンプルプログラムは「サーブレット」の項目に書かれている準備を行ってから使用してください。
import java.io.IOException;
import java.io.PrintWriter;
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 SampleServlet extends HttpServlet
{
/**
* リクエストとしてHTTPメソッドのGETが渡されるとこのメソッドが呼ばれます。
*/
public void doGet( HttpServletRequest request, HttpServletResponse response ) throws IOException, ServletException
{
// Content-Typeをセット。
response.setContentType( "text/html;charset=Windows-31J" );
// HttpSessionを取得します。
HttpSession session = request.getSession( true );
// セッションから、「value」の名前で登録されているデータを取得します。
String value = (String)session.getAttribute( "value" );
// 追記します。
value += "/ばりゅー";
// 「value」の名前でセッションに登録します。
session.setAttribute( "value", value );
// セッションIDを出力します。
System.out.println( session.getId() );
// DD2827F78048A6D90EF4B71A10AF97AF
// HTML出力用のPrintWriterを取得します。
PrintWriter out = response.getWriter();
// HTMLを出力します。
out.println( "<HTML>" );
out.println( "<HEAD>" );
out.println( "<TITLE>サーブレットのテスト</TITLE>" );
out.println( "</HEAD>" );
out.println( "<BODY>" );
out.println( value );
out.println( "</BODY>" );
out.println( "</HTML>" );
// null/ばりゅー/ばりゅー/ばりゅー/ばりゅー/ばりゅー
// ……と、リロードするたびに増えていきます。
}
}
// webapps/sample-servlet/WEB-INF/src/SampleServlet.java // http://localhost:8080/sample-servlet/servlet/SampleServlet でアクセスできます。 // このサンプルプログラムは「サーブレット」の項目に書かれている準備を行ってから使用してください。 import java.io.IOException; import java.io.PrintWriter; 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 SampleServlet extends HttpServlet { /** * リクエストとしてHTTPメソッドのGETが渡されるとこのメソッドが呼ばれます。 */ public void doGet( HttpServletRequest request, HttpServletResponse response ) throws IOException, ServletException { // Content-Typeをセット。 response.setContentType( "text/html;charset=Windows-31J" ); // HttpSessionを取得します。 HttpSession session = request.getSession( true ); // セッションから、「value」の名前で登録されているデータを取得します。 String value = (String)session.getAttribute( "value" ); // 追記します。 value += "/ばりゅー"; // 「value」の名前でセッションに登録します。 session.setAttribute( "value", value ); // セッションIDを出力します。 System.out.println( session.getId() ); // DD2827F78048A6D90EF4B71A10AF97AF // HTML出力用のPrintWriterを取得します。 PrintWriter out = response.getWriter(); // HTMLを出力します。 out.println( "<HTML>" ); out.println( "<HEAD>" ); out.println( "<TITLE>サーブレットのテスト</TITLE>" ); out.println( "</HEAD>" ); out.println( "<BODY>" ); out.println( value ); out.println( "</BODY>" ); out.println( "</HTML>" ); // null/ばりゅー/ばりゅー/ばりゅー/ばりゅー/ばりゅー // ……と、リロードするたびに増えていきます。 } }