|
|||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
ユーザがWebサイト内の複数のページを訪れる際にユーザを識別したりユーザに関する情報を保存するための方法を提供します。
ServletコンテナはHTTPクライアントとHTTPサーバの間にセッションを生成するためにこのインタフェースを使用します。 セッションはユーザからの複数回の接続すなわちページリクエストに跨って、 指定された期間持続します。 通常1セッションはサイトをよく訪れる1ユーザに対応します。 サーバはCookieを利用したりURLを書き直したりといった様々な方法でセッションを維持します。
Servletはこのインタフェースを用いて次のようなことができます。
アプリケーションがセッションにオブジェクトを結び付けたりセッションからオブジェクトを削除したりする際に、
セッションはそのオブジェクトが
HttpSessionBindingListener
を実装しているかどうかを調べます。
実装しているならば、Servletはそのオブジェクトに対してセッションに結び付けられたのかセッションから削除されたのかといった通知を行ないます。
通知は結び付けや削除メソッドが完了した後に送られます。
また、無効化されたり期限の切れたセッションの場合、
通知はセッションが無効になったか期限切れになった後に送られます。
分散Servletコンテナとして設定されているServletコンテナがVM間でセッションを移動させる時には、
HttpSessionActivationListener
インタフェースを実装している全てのセッションの属性に対して通知が行なわれます。
Serlvetは例えばCookieが明示的に無効になっている場合などの、
クライアントがセッションに参加しないことを選ぶケースを扱うことができるべきです。
クライアントがセッションに参加するまではisNew
は
true
を返します。
クライアントがセッションに参加しないことを選んだ場合、
getSession
はリクエスト毎に異なるセッションを返します。
またisNew
は常にtrue
を返します。
セッション情報は現在のWebアプリケーション(ServletContext
)
でのみ参照可能です。
従って、あるコンテキストに保存された情報は他のコンテキストからは直接参照することはできません。
HttpSessionBindingListener
,
HttpSessionContext
メソッドの概要 | |
Object |
getAttribute(String name)
指定された名前でこのセッションに結びつけられているオブジェクトを返します。 |
Enumeration |
getAttributeNames()
このセッションに結びつけられている全てのオブジェクトの名前を表す String オブジェクトのEnumeration
オブジェクトを返します。 |
long |
getCreationTime()
このセッションが生成された時刻を返します。 |
String |
getId()
このセッションに割り当てられている一意な識別子を表す Stringオブジェクトを返します。 |
long |
getLastAccessedTime()
このセッションに関連したリクエストをクライアントが送った最後の時刻を返します。 |
int |
getMaxInactiveInterval()
クライアントがServletコンテナに最後にアクセスしてからこのセッションを保ち続ける最大の秒数を指定します。 |
ServletContext |
getServletContext()
このセッションが属しているServletContextオブジェクトを返します。 |
HttpSessionContext |
getSessionContext()
推奨されていません。 バージョン2.1以降、このメソッドは推奨されていません。 また、代替手段もありません。 このメソッドはJava Servlet API の将来のバージョンでは削除されるでしょう。 |
Object |
getValue(String name)
推奨されていません。 バージョン2.2以降、このメソッドは getAttribute(java.lang.String) に置き換えられています。 |
String[] |
getValueNames()
推奨されていません。 バージョン2.2以降、このメソッドは getAttributeNames()
に置き換えられています。 |
void |
invalidate()
セッションを無効にし、結びつけられている全てのオブジェクトを解放します。 |
boolean |
isNew()
クライアントがこのセッションについてまだ知らない場合、 もしくはクライアントがセッションに参加しない場合に true を返します。
|
void |
putValue(String name,
Object value)
推奨されていません。 バージョン2.2以降、このメソッドは setAttribute(java.lang.String, java.lang.Object) に置き換えられています。 |
void |
removeAttribute(String name)
指定された名前でセッションに結びつけられているオブジェクトをセッションから削除します。 |
void |
removeValue(String name)
推奨されていません。 バージョン2.2以降、このメソッドは removeAttribute(java.lang.String) に置き換えられています。 |
void |
setAttribute(String name,
Object value)
指定された名前でこのセッションにオブジェクトを結びつけます。 |
void |
setMaxInactiveInterval(int interval)
Servletコンテナがクライアントから最後にリクエストを受けてからこのセッションを無効化するまでの最大の秒数を指定します。 |
メソッドの詳細 |
public long getCreationTime()
long
値。
この値は1970年1月1日グリニッジ標準時00:00:00.000
からの経過時間をミリ秒で表したもの
IllegalStateException
- 無効なセッションについてこのメソッドの呼び出しが行なわれた場合public String getId()
IllegalStateException
- 無効なセッションについてこのメソッドの呼び出しが行なわれた場合public long getLastAccessedTime()
セッションに関連づけられている値を取得したり設定したりといったアクションをアプリケーションが受けても、 このアクセス時刻は更新されません。
long
値。
返される値は、1970年1月1日グリニッジ標準時00:00:00.000
からの経過時間をミリ秒で表した数値
IllegalStateException
- 無効なセッションについてこのメソッドの呼び出しが行なわれた場合public ServletContext getServletContext()
public void setMaxInactiveInterval(int interval)
interval
- 秒数を表す整数値public int getMaxInactiveInterval()
setMaxInactiveInterval
メソッドで設定することができます。
この値が負の値である場合、セッションはタイムアウトしません。
setMaxInactiveInterval(int)
public HttpSessionContext getSessionContext()
public Object getAttribute(String name)
null
を返します。
name
- オブジェクトの名前を表す文字列
IllegalStateException
- 無効なセッションについてこのメソッドの呼び出しが行なわれた場合public Object getValue(String name)
getAttribute(java.lang.String)
に置き換えられています。
name
- オブジェクトの名前を表す文字列
IllegalStateException
- 無効なセッションについてこのメソッドの呼び出しが行なわれた場合public Enumeration getAttributeNames()
String
オブジェクトのEnumeration
オブジェクトを返します。
String
オブジェクトの
Enumeration
IllegalStateException
- 無効なセッションについてこのメソッドの呼び出しが行なわれた場合public String[] getValueNames()
getAttributeNames()
に置き換えられています。
String
オブジェクトの配列
IllegalStateException
- 無効なセッションについてこのメソッドの呼び出しが行なわれた場合public void setAttribute(String name, Object value)
セッションに結びつけようとしているオブジェクトが
HttpSessionBindingListener
を実装している場合は、
このメソッドが呼び出された後にコンテナは
HttpSessionBindingListener.valueBound
メソッドを呼び出します。
さらにコンテナはWebアプリケーションが持つ全ての
HttpSessionAttributeListener
に通知します。
指定された名前を持つオブジェクトが既にこのセッションに結びつけられている場合、
そのオブジェクトがHttpSessionBindingListener
を実装しているならば、
そのオブジェクトに対して
HttpSessionBindingListener.valueUnbound
メソッドが呼び出されます。
オブジェクトとしてnullが指定された場合は
removeAttribute()
が呼び出されたのと同じ動作をします。
name
- オブジェクトをセッションに結びつける際の名前。
nullであってはいけませんvalue
- セッションに結びつけるオブジェクト
IllegalStateException
- 無効なセッションについてこのメソッドの呼び出しが行なわれた場合public void putValue(String name, Object value)
setAttribute(java.lang.String, java.lang.Object)
に置き換えられています。
name
- オブジェクトをセッションに結びつける際の名前。
nullであってはいけませんvalue
- セッションに結びつけるオブジェクト。
nullであってはいけません
IllegalStateException
- 無効なセッションについてこのメソッドの呼び出しが行なわれた場合public void removeAttribute(String name)
オブジェクトがHttpSessionBindingListener
を実装している場合、コンテナはこのメソッドを呼び出した後に
HttpSessionBindingListener.valueUnbound
を呼び出し、
その後にWebアプリケーション中の全ての
HttpSessionAttributeListener
に通知をします。
name
- セッションから削除するオブジェクトの名前
IllegalStateException
- 無効なセッションについてこのメソッドの呼び出しが行なわれた場合public void removeValue(String name)
removeAttribute(java.lang.String)
に置き換えられています。
name
- セッションから削除するオブジェクトの名前
IllegalStateException
- 既に無効なセッションについてこのメソッドの呼び出しが行なわれた場合public void invalidate()
IllegalStateException
- 既に無効なセッションについてこのメソッドの呼び出しが行なわれた場。public boolean isNew()
true
を返します。
例えば、サーバがクッキーを用いたセッションだけを利用しており、
クライアントがクッキーを使用しない設定になっている場合は、
リクエスト毎にセッションが生成されます。
true
IllegalStateException
- 既に無効なセッションについてこのメソッドの呼び出しが行なわれた場合
|
|||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
このドキュメントは、Ja-Jakarta Project により翻訳されました。コメントがある場合は、jajakarta-report@jajakarta.good-day.netまでお願いします。
Copyright © 1999-2002 The Apache Software Foundation. All Rights Reserved.