HttpSession
日本語 | 超文書対話期間 |
英語 | http session |
ふりがな | えっちてぃーてぃーぴーせっしょん、えいちてぃーてぃーぴーせっしょん |
フリガナ | エッチティーティーピーセッション、エイチティーティーピーセッション |
セッションを管理するインターフェイス
J2EEに含まれるインターフェイスのひとつ。パッケージも含めたインターフェイス名はjavax.servlet.http.HttpSession。
セッションを管理するためのインターフェイス。
このインターフェイスを通してセッションに値をセットし、また取得する。
HttpServletRequestインターフェイスのgetSession()メソッドでセッションを取得する。
getSession()メソッドはboolean型の引数を持ち、渡された値によって、セッションがまだ作られていない場合やタイムアウト時の戻り値が異なる。
trueを渡した場合、新規にセッションを作成する。
falseを渡した場合、nullを返す。
セッションはHashMapのように「名前」と「値」をペアにして値を格納する。
HttpSessionインターフェイスのsetAttribute()メソッドで値をセットする。その際、名前を指定する。
HttpSessionインターフェイスのgetAttribute()メソッドで値を取得する。その際、名前を指定する。指定した名前の値が存在しない場合はnullが返される。
J2EEに含まれるインターフェイスのひとつ。パッケージも含めたインターフェイス名はjavax.servlet.http.HttpSession。
セッションを管理するためのインターフェイス。
このインターフェイスを通してセッションに値をセットし、また取得する。
HttpServletRequestインターフェイスのgetSession()メソッドでセッションを取得する。
getSession()メソッドはboolean型の引数を持ち、渡された値によって、セッションがまだ作られていない場合やタイムアウト時の戻り値が異なる。
trueを渡した場合、新規にセッションを作成する。
falseを渡した場合、nullを返す。
セッションはHashMapのように「名前」と「値」をペアにして値を格納する。
HttpSessionインターフェイスのsetAttribute()メソッドで値をセットする。その際、名前を指定する。
HttpSessionインターフェイスのgetAttribute()メソッドで値を取得する。その際、名前を指定する。指定した名前の値が存在しない場合は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 );
// 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 );
// 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 ); // 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/ばりゅー/ばりゅー/ばりゅー/ばりゅー/ばりゅー // ……と、リロードするたびに増えていきます。 } }