インターフェース ServletContext
public interface ServletContextファイルの MIME 型の取得、リクエストのディスパッチ、ログファイルへの書き込みなど、サーブレットがサーブレットコンテナーと通信するために使用する一連のメソッドを定義します。Java 仮想マシンごとに「Web アプリケーション」ごとに 1 つのコンテキストがあります。(「Web アプリケーション」は、
/catalogなどのサーバーの URL 名前空間の特定のサブセットにインストールされ、場合によっては.warファイルを介してインストールされるサーブレットとコンテンツのコレクションです。)デプロイ記述子で「分散」とマークされた Web アプリケーションの場合、各仮想マシンに 1 つのコンテキストインスタンスがあります。この状況では、コンテキストをグローバル情報を共有する場所として使用することはできません(情報は真にグローバルではないため)。代わりに、データベースなどの外部リソースを使用してください。
ServletContextオブジェクトはServletConfigオブジェクト内に含まれています。ServletConfigオブジェクトは、Web サーバーがサーブレットの初期化時にサーブレットを提供します。- 作成者:
- Various
- 関連事項:
Servlet.getServletConfig(),ServletConfig.getServletContext()
フィールドのサマリー
フィールド 修飾子と型 フィールド 説明 static StringSEORDERED_LIBSWEB-INF/lib内の JAR ファイルの名前のリストが、その値 (java.util.List<java.lang.String>型) に含まれているServletContext属性の名前 (<others/>なしの<absolute-ordering>を使用している場合は除外される可能性あり)。絶対または相対順序が指定されていない場合は NULL。static StringSETEMPDIRServletContext のサーブレットコンテナーによって提供される( java.io.File 型の)プライベート一時ディレクトリを格納する ServletContext 属性の名前
メソッドのサマリー
すべてのメソッド インスタンスメソッド 抽象メソッド 修飾子と型 メソッド 説明 FilterRegistration.DynamicaddFilter(StringSE filterName, Filter filter)指定されたフィルターインスタンスを、指定された filterName にあるこの ServletContext に登録します。FilterRegistration.DynamicaddFilter(StringSE filterName, ClassSE<? extends Filter> filterClass)このサーブレットコンテキストに、指定された名前とクラス型のフィルターを追加します。FilterRegistration.DynamicaddFilter(StringSE filterName, StringSE className)指定された名前とクラス名を持つフィルターをこのサーブレットコンテキストに追加します。ServletRegistration.DynamicaddJspFile(StringSE servletName, StringSE jspFile)指定された jsp ファイルを持つサーブレットをこのサーブレットコンテキストに追加します。voidaddListener(ClassSE<? extends EventListenerSE> listenerClass)指定されたクラス型のリスナーをこの ServletContext に追加します。voidaddListener(StringSE className)指定されたクラス名のリスナーをこの ServletContext に追加します。<T extends EventListenerSE>
voidaddListener(T t)指定されたリスナーをこの ServletContext に追加します。ServletRegistration.DynamicaddServlet(StringSE servletName, Servlet servlet)指定されたサーブレットインスタンスを、指定された servletName のこの ServletContext に登録します。ServletRegistration.DynamicaddServlet(StringSE servletName, ClassSE<? extends Servlet> servletClass)指定された名前とクラス型のサーブレットをこのサーブレットコンテキストに追加します。ServletRegistration.DynamicaddServlet(StringSE servletName, StringSE className)指定された名前とクラス名を持つサーブレットをこのサーブレットコンテキストに追加します。<T extends Filter>
TcreateFilter(ClassSE<T> clazz)指定された Filter クラスをインスタンス化します。<T extends EventListenerSE>
TcreateListener(ClassSE<T> clazz)指定された EventListener クラスをインスタンス化します。<T extends Servlet>
TcreateServlet(ClassSE<T> clazz)指定されたサーブレットクラスをインスタンス化します。voiddeclareRoles(StringSE... roleNames)isUserInRoleを使用してテストされるロール名を宣言します。ObjectSEgetAttribute(StringSE name)指定された名前のサーブレットコンテナー属性を返します。その名前の属性がない場合はnullを返します。EnumerationSE<StringSE>getAttributeNames()この ServletContext 内で使用可能な属性名を含むEnumerationを返します。ClassLoaderSEgetClassLoader()この ServletContext によって表される Web アプリケーションのクラスローダーを取得します。ServletContextgetContext(StringSE uripath)サーバー上の指定された URL に対応するServletContextオブジェクトを返します。StringSEgetContextPath()Web アプリケーションのコンテキストパスを返します。SetSE<SessionTrackingMode>getDefaultSessionTrackingModes()この ServletContext でデフォルトでサポートされているセッション追跡モードを取得します。intgetEffectiveMajorVersion()この ServletContext で表されるアプリケーションのベースとなるサーブレット仕様のメジャーバージョンを取得します。intgetEffectiveMinorVersion()この ServletContext で表されるアプリケーションのベースとなるサーブレット仕様のマイナーバージョンを取得します。SetSE<SessionTrackingMode>getEffectiveSessionTrackingModes()この ServletContext で有効なセッション追跡モードを取得します。FilterRegistrationgetFilterRegistration(StringSE filterName)指定された filterName を持つフィルターに対応する FilterRegistration を取得します。MapSE<StringSE,? extends FilterRegistration>getFilterRegistrations()この ServletContext に登録されているすべてのフィルターに対応する FilterRegistration オブジェクト(フィルター名をキーとする)の(おそらく空の)マップを取得します。StringSEgetInitParameter(StringSE name)名前付きコンテキスト全体の初期化パラメーターの値を含むStringを返します。パラメーターが存在しない場合はnullを返します。EnumerationSE<StringSE>getInitParameterNames()StringオブジェクトのEnumerationとしてコンテキストの初期化パラメーターの名前を返します。コンテキストに初期化パラメーターがない場合は空のEnumerationを返します。JspConfigDescriptorgetJspConfigDescriptor()この ServletContext によって表される Web アプリケーションのweb.xmlおよびweb-fragment.xml記述子ファイルから集約された<jsp-config>関連の構成を取得します。intgetMajorVersion()このコンテナーがサポートする Jakarta Servlet 仕様のメジャーバージョンを返します。StringSEgetMimeType(StringSE file)指定されたファイルの MIME 型を返します。MIME 型が不明の場合はnullを返します。intgetMinorVersion()このコンテナーがサポートする Jakarta Servlet 仕様のマイナーバージョンを返します。RequestDispatchergetNamedDispatcher(StringSE name)指定されたサーブレットのラッパーとして機能するRequestDispatcherオブジェクトを返します。StringSEgetRealPath(StringSE path)指定された仮想パスに対応する実際のパスを取得します。StringSEgetRequestCharacterEncoding()この ServletContext でデフォルトでサポートされているリクエスト文字エンコーディングを取得します。RequestDispatchergetRequestDispatcher(StringSE path)指定されたパスにあるリソースのラッパーとして機能するRequestDispatcherオブジェクトを返します。URLSEgetResource(StringSE path)指定されたパスにマップされているリソースへの URL を返します。InputStreamSEgetResourceAsStream(StringSE path)名前付きパスにあるリソースをInputStreamオブジェクトとして返します。SetSE<StringSE>getResourcePaths(StringSE path)最長のサブパスが指定されたパス引数と一致する Web アプリケーション内のリソースへのすべてのパスのディレクトリのようなリストを返します。StringSEgetResponseCharacterEncoding()この ServletContext でデフォルトでサポートされているレスポンス文字エンコードを取得します。StringSEgetServerInfo()サーブレットが実行されているサーブレットコンテナーの名前とバージョンを返します。StringSEgetServletContextName()display-name 要素によってこの Web アプリケーションのデプロイ記述子で指定された、この ServletContext に対応するこの Web アプリケーションの名前を返します。ServletRegistrationgetServletRegistration(StringSE servletName)指定された servletName を持つサーブレットに対応する ServletRegistration を取得します。MapSE<StringSE,? extends ServletRegistration>getServletRegistrations()この ServletContext で登録されたすべてのサーブレットに対応する ServletRegistration オブジェクトのマップ(空の場合あり)(サーブレット名をキーとする)を取得するSessionCookieConfiggetSessionCookieConfig()この ServletContext のために作成されたセッショントラッキング Cookie のさまざまなプロパティを構成するために使用されるSessionCookieConfigオブジェクトを取得します。intgetSessionTimeout()この ServletContext でデフォルトでサポートされているセッションタイムアウトを分単位で取得します。StringSEgetVirtualServerName()ServletContext がデプロイされている論理ホストの構成名を返します。voidlog(StringSE msg)指定したメッセージをサーブレットログファイル(通常はイベントログ)に書き込みます。voidlog(StringSE message, ThrowableSE throwable)特定のThrowable例外の説明メッセージとスタックトレースをサーブレットログファイルに書き込みます。voidremoveAttribute(StringSE name)この ServletContext から指定された名前の属性を削除します。voidsetAttribute(StringSE name, ObjectSE object)この ServletContext の特定の属性名にオブジェクトをバインドします。booleansetInitParameter(StringSE name, StringSE value)この ServletContext で、指定された名前と値でコンテキスト初期化パラメーターを設定します。voidsetRequestCharacterEncoding(StringSE encoding)この ServletContext のリクエスト文字エンコードを設定します。voidsetResponseCharacterEncoding(StringSE encoding)この ServletContext のレスポンス文字エンコードを設定します。voidsetSessionTimeout(int sessionTimeout)この ServletContext のセッションタイムアウトを分単位で設定します。voidsetSessionTrackingModes(SetSE<SessionTrackingMode> sessionTrackingModes)この ServletContext で有効になるセッション追跡モードを設定します。
メソッドの詳細
getContextPath
StringSE getContextPath()
Web アプリケーションのコンテキストパスを返します。コンテキストパスは、リクエストのコンテキストを選択するために使用されるリクエスト URI の部分です。コンテキストパスは、常にリクエスト URI の最初に来ます。このコンテキストが Web サーバーの URL 名前空間のベースをルートとする「ルート」コンテキストである場合、このパスは空の文字列になります。それ以外の場合、コンテキストのルートがサーバーのネームスペースのルートにない場合、パスは / 文字で始まりますが、/ 文字で終わりません。
サーブレットコンテナーは、複数のコンテキストパスによってコンテキストと一致する可能性があります。このような場合、
HttpServletRequest.getContextPath()はリクエストで使用される実際のコンテキストパスを返しますが、このメソッドで返されるパスとは異なる場合があります。このメソッドによって返されるコンテキストパスは、アプリケーションのプライムまたは優先コンテキストパスと見なされる必要があります。- 戻り値:
- Web アプリケーションのコンテキストパス、またはルートコンテキストの ""
- 導入:
- Servlet 2.5
- 関連事項:
HttpServletRequest.getContextPath()
getContext
ServletContext getContext(StringSE uripath)
サーバー上の指定された URL に対応するServletContextオブジェクトを返します。このメソッドを使用すると、サーブレットはサーバーのさまざまな部分のコンテキストにアクセスし、必要に応じてコンテキストから
RequestDispatcherオブジェクトを取得できます。指定されたパスは / で始まる必要があり、サーバーのドキュメントルートを基準にして解釈され、このコンテナーでホストされている他の Web アプリケーションのコンテキストルートと照合されます。セキュリティを重視する環境では、サーブレットコンテナーは特定の URL に対して
nullを返す場合があります。- パラメーター:
uripath- コンテナー内の別の Web アプリケーションのコンテキストパスを指定するString。- 戻り値:
- 指定された URL に対応する
ServletContextオブジェクト。存在しないか、コンテナーがこのアクセスを制限したい場合は null - 関連事項:
RequestDispatcher
getMajorVersion
int getMajorVersion()
このコンテナーがサポートする Jakarta Servlet 仕様のメジャーバージョンを返します。仕様のバージョン X.Y に準拠するすべての実装は、整数 X を返す必要があります。- 戻り値:
- このコンテナーがサポートする Jakarta Servlet 仕様のメジャーバージョン
getMinorVersion
int getMinorVersion()
このコンテナーがサポートする Jakarta Servlet 仕様のマイナーバージョンを返します。仕様のバージョン X.Y に準拠するすべての実装は、整数 Y を返す必要があります。- 戻り値:
- このコンテナーがサポートする Jakarta Servlet 仕様のマイナーバージョン
getEffectiveMajorVersion
int getEffectiveMajorVersion()
この ServletContext で表されるアプリケーションのベースとなるサーブレット仕様のメジャーバージョンを取得します。返される値は、
getMajorVersion()とは異なる場合があります。getMajorVersion()は、サーブレットコンテナーでサポートされているサーブレット仕様のメジャーバージョンを返します。- 戻り値:
- この ServletContext によって表されるアプリケーションが基づいているサーブレット仕様のメジャーバージョン
- 導入:
- Servlet 3.0
getEffectiveMinorVersion
int getEffectiveMinorVersion()
この ServletContext で表されるアプリケーションのベースとなるサーブレット仕様のマイナーバージョンを取得します。返される値は、
getMinorVersion()とは異なる場合があります。getMinorVersion()は、サーブレットコンテナーでサポートされているサーブレット仕様のマイナーバージョンを返します。- 戻り値:
- この ServletContext によって表されるアプリケーションが基づいているサーブレット仕様のマイナーバージョン
- 導入:
- Servlet 3.0
getMimeType
StringSE getMimeType(StringSE file)
指定されたファイルの MIME 型を返します。MIME 型が不明の場合はnullを返します。MIME 型は、サーブレットコンテナーの構成によって決定され、Web アプリケーションデプロイ記述子で指定できます。一般的な MIME 型にはtext/htmlとimage/gifが含まれます。- パラメーター:
file- ファイルの名前を指定するString- 戻り値:
- ファイルの MIME 型を指定する
String
getResourcePaths
SetSE<StringSE> getResourcePaths(StringSE path)
最長のサブパスが指定されたパス引数と一致する Web アプリケーション内のリソースへのすべてのパスのディレクトリのようなリストを返します。サブディレクトリパスを示すパスは、 / で終わります。
返されるパスはすべて、Web アプリケーションのルート、または Web アプリケーションの /WEB-INF/lib ディレクトリ内の JAR ファイルの /META-INF/resources ディレクトリに相対的であり、先頭に / があります。
返されたセットは
ServletContextオブジェクトによって支援されないため、返されたセットの変更はServletContextオブジェクトに反映されず、その逆も同様です。例: 以下を含む Web アプリケーションの場合:
getResourcePaths("/") は {"/welcome.html","/catalog/","/customer/","/WEB-INF/"} を返し、getResourcePaths("/catalog/") は {"/catalog/index.html","/catalog/products.html","/catalog/offers/","/catalog/moreOffers/"} を返します。/welcome.html /catalog/index.html /catalog/products.html /catalog/offers/books.html /catalog/offers/music.html /customer/login.jsp /WEB-INF/web.xml /WEB-INF/classes/com.acme.OrderServlet.class /WEB-INF/lib/catalog.jar!/META-INF/resources/catalog/moreOffers/books.html- パラメーター:
path- リソースの照合に使用される部分パス。 / で始まる必要があります- 戻り値:
- ディレクトリリストを含む Set。指定されたパスで始まるパスを持つ Web アプリケーションにリソースがない場合は null
- 導入:
- Servlet 2.3
getResource
URLSE getResource(StringSE path) throws MalformedURLExceptionSE
指定されたパスにマップされているリソースへの URL を返します。パスは / で始まる必要があり、現在のコンテキストルート、Web アプリケーションの /WEB-INF/lib ディレクトリ内の JAR ファイルの /META-INF/resources ディレクトリを基準として解釈されます。このメソッドは、/WEB-INF/lib 内の JAR ファイルを検索する前に、まず Web アプリケーションのドキュメントルートでリクエストされたリソースを検索します。/WEB-INF/lib 内の JAR ファイルが検索される順序は未定義です。
このメソッドにより、サーブレットコンテナーは、任意のソースからのサーブレットがリソースを利用できるようになります。リソースは、ローカルまたはリモートファイルシステム、データベース、
.warファイルに配置できます。サーブレットコンテナーは、リソースにアクセスするために必要な URL ハンドラーと
URLConnectionオブジェクトを実装する必要があります。このメソッドは、リソースがパス名にマップされていない場合、
nullを返します。一部のコンテナーでは、URL クラスのメソッドを使用して、このメソッドによって返された URL への書き込みが許可される場合があります。
リソースコンテンツは直接返されるため、
.jspページをリクエストすると JSP ソースコードが返されることに注意してください。代わりにRequestDispatcherを使用して、実行結果を含めます。このメソッドの目的は、クラスローダーに基づいてリソースを検索する
java.lang.Class.getResourceとは異なります。このメソッドはクラスローダーを使用しません。このメソッドは、暗黙的(WEB-INF または META-INF への直接アクセスなし)および明示的(Web アプリケーションで定義された)セキュリティ制約の両方をバイパスします。パスを構築するとき(たとえば、ユーザーが提供する非サニタイズデータを避ける)と、結果を使用してアプリケーションにセキュリティ脆弱性を作成しないように注意する必要があります。
- パラメーター:
path- リソースへのパスを指定するString- 戻り値:
- 指定されたパスにあるリソース、またはそのパスにリソースがない場合は
null - 例外:
MalformedURLExceptionSE- パス名が正しい形式で指定されていない場合
getResourceAsStream
InputStreamSE getResourceAsStream(StringSE path)
名前付きパスにあるリソースをInputStreamオブジェクトとして返します。InputStreamのデータは、任意の型または長さにできます。getResourceで指定されたルールに従ってパスを指定する必要があります。指定したパスにリソースが存在しない場合、このメソッドはnullを返します。getResourceメソッドを介して利用可能なコンテンツの長さやコンテンツ型などのメタ情報は、このメソッドを使用すると失われます。サーブレットコンテナーは、リソースにアクセスするために必要な URL ハンドラーと
URLConnectionオブジェクトを実装する必要があります。このメソッドは、クラスローダーを使用する
java.lang.Class.getResourceAsStreamとは異なります。このメソッドにより、サーブレットコンテナーは、クラスローダーを使用せずに、任意の場所からサーブレットがリソースを利用できるようになります。このメソッドは、暗黙的(WEB-INF または META-INF への直接アクセスなし)および明示的(Web アプリケーションで定義された)セキュリティ制約の両方をバイパスします。パスを構築するとき(たとえば、ユーザーが提供する非サニタイズデータを避ける)と、結果を使用してアプリケーションにセキュリティ脆弱性を作成しないように注意する必要があります。
- パラメーター:
path- リソースへのパスを指定するString- 戻り値:
InputStreamがサーブレットに返され、指定されたパスにリソースが存在しない場合はnull
getRequestDispatcher
RequestDispatcher getRequestDispatcher(StringSE path)
指定されたパスにあるリソースのラッパーとして機能するRequestDispatcherオブジェクトを返します。RequestDispatcherオブジェクトを使用して、リクエストをリソースに転送したり、レスポンスにリソースを含めることができます。リソースは動的でも静的でもかまいません。パス名は / で始まる必要があり、現在のコンテキストルートを基準として解釈されます。
getContextを使用して、外部コンテキストのリソースのRequestDispatcherを取得します。ServletContextがRequestDispatcherを返すことができない場合、このメソッドはnullを返します。- パラメーター:
path- リソースへのパス名を指定するString- 戻り値:
- 指定されたパスのリソースのラッパーとして機能する
RequestDispatcherオブジェクト、またはServletContextがRequestDispatcherを返せない場合はnull - 関連事項:
RequestDispatcher,getContext(java.lang.String)
getNamedDispatcher
RequestDispatcher getNamedDispatcher(StringSE name)
指定されたサーブレットのラッパーとして機能するRequestDispatcherオブジェクトを返します。サーブレット(および JSP ページ)には、サーバー管理または Web アプリケーションデプロイ記述子を介して名前を付けることができます。サーブレットインスタンスは、
ServletConfig.getServletName()を使用してその名前を決定できます。ServletContextが何らかの理由でRequestDispatcherを返すことができない場合、このメソッドはnullを返します。- パラメーター:
name- ラップするサーブレットの名前を指定するString- 戻り値:
- 名前付きサーブレットのラッパーとして機能する
RequestDispatcherオブジェクト、またはServletContextがRequestDispatcherを返せない場合はnull - 関連事項:
RequestDispatcher,getContext(java.lang.String),ServletConfig.getServletName()
log
void log(StringSE msg)
指定したメッセージをサーブレットログファイル(通常はイベントログ)に書き込みます。サーブレットログファイルの名前と型は、サーブレットコンテナーに固有です。- パラメーター:
msg- ログファイルに書き込まれるメッセージを指定するString
log
void log(StringSE message, ThrowableSE throwable)
特定のThrowable例外の説明メッセージとスタックトレースをサーブレットログファイルに書き込みます。サーブレットログファイルの名前と型は、サーブレットコンテナー(通常はイベントログ)に固有です。- パラメーター:
message- エラーまたは例外を記述するStringthrowable-Throwableエラーまたは例外
getRealPath
StringSE getRealPath(StringSE path)
指定された仮想パスに対応する実際のパスを取得します。パスは / で始まる必要があり、現在のコンテキストルートを基準として解釈されます。パスが / で始まらない場合、コンテナーは、提供されたパスの先頭に / を追加してメソッドが呼び出されたかのように動作します。
例: path が /index.html と等しい場合、このメソッドは、 http://<host>:<port>/<contextPath>/index.html 形式のリクエストがマップされるサーバーのファイルシステム上の絶対ファイルパスを返します。ここで、< tt><contextPath> は、この ServletContext のコンテキストパスに対応します。
返される実際のパスは、適切なパス区切り文字を含め、サーブレットコンテナーが実行されているコンピューターとオペレーティングシステムに適した形式になります。
アプリケーションの /WEB-INF/lib ディレクトリにバンドルされている JAR ファイルの /META-INF/resources ディレクトリ内のリソースは、コンテナーが含む JAR ファイルから解凍した場合にのみ考慮する必要があります。その場合、解凍された場所へのパスを返す必要があります。
このメソッドは、サーブレットコンテナーが指定された仮想パスを実際のパスに変換できない場合に
nullを返します。- パラメーター:
path- 実際のパスに変換される仮想パス- 戻り値:
- 実際のパス、または変換を実行できない場合は null
getServerInfo
StringSE getServerInfo()
サーブレットが実行されているサーブレットコンテナーの名前とバージョンを返します。返される文字列の形式は servername/versionnumber です。例: JavaServer Web 開発キットは、ストリング
JavaServer Web Dev Kit/1.0を返す場合があります。サーブレットコンテナーは、たとえば
JavaServer Web Dev Kit/1.0 (JDK 1.1.6; Windows NT 4.0 x86)のように、括弧で囲まれたプライマリ文字列の後に他のオプション情報を返す場合があります。- 戻り値:
- 少なくともサーブレットコンテナー名とバージョン番号を含む
String
getInitParameter
StringSE getInitParameter(StringSE name)
名前付きコンテキスト全体の初期化パラメーターの値を含むStringを返します。パラメーターが存在しない場合はnullを返します。このメソッドは、利用可能な構成情報を Web アプリケーション全体にとって有用にすることができます。例: Web マスターのメールアドレスまたは重要なデータを保持するシステムの名前を提供できます。
- パラメーター:
name- 値がリクエストされるパラメーターの名前を含むString- 戻り値:
- コンテキストの初期化パラメーターの値を含む
String、またはコンテキストの初期化パラメーターが存在しない場合はnull - 例外:
NullPointerExceptionSE- 引数nameがnullの場合- 関連事項:
ServletConfig.getInitParameter(java.lang.String)
getInitParameterNames
EnumerationSE<StringSE> getInitParameterNames()
StringオブジェクトのEnumerationとしてコンテキストの初期化パラメーターの名前を返します。コンテキストに初期化パラメーターがない場合は空のEnumerationを返します。- 戻り値:
- コンテキストの初期化パラメーターの名前を含む
StringオブジェクトのEnumeration - 関連事項:
ServletConfig.getInitParameter(java.lang.String)
setInitParameter
boolean setInitParameter(StringSE name, StringSE value)
この ServletContext で、指定された名前と値でコンテキスト初期化パラメーターを設定します。- パラメーター:
name- 設定するコンテキスト初期化パラメーターの名前value- 設定するコンテキスト初期化パラメーターの値- 戻り値:
- 指定された名前と値のコンテキスト初期化パラメーターがこの ServletContext で正常に設定された場合は true、この ServletContext に一致する名前のコンテキスト初期化パラメーターがすでに含まれているために設定されなかった場合は false
- 例外:
IllegalStateExceptionSE- この ServletContext がすでに初期化されている場合NullPointerExceptionSE- 名前パラメーターがnullの場合UnsupportedOperationExceptionSE- この ServletContext が、web.xmlまたはweb-fragment.xmlで宣言されておらず、WebListenerでアノテーションも付けられていないServletContextListenerのServletContextListener.contextInitialized(jakarta.servlet.ServletContextEvent)メソッドに渡された場合- 導入:
- Servlet 3.0
getAttribute
ObjectSE getAttribute(StringSE name)
指定された名前のサーブレットコンテナー属性を返します。その名前の属性がない場合はnullを返します。属性により、サーブレットコンテナーは、このインターフェースによってまだ提供されていない追加情報をサーブレットに提供できます。その属性については、サーバーのドキュメントを参照してください。サポートされる属性のリストは、
getAttributeNamesを使用して取得できます。属性は、
java.lang.Objectまたはサブクラスとして返されます。属性名は、パッケージ名と同じ規則に従う必要があります。Jakarta Servlet 仕様では、
java.*、javax.*、sun.*に一致する名前が予約されています。- パラメーター:
name- 属性の名前を指定するString- 戻り値:
- 属性の値を含む
Object、または指定された名前に一致する属性が存在しない場合はnull - 例外:
NullPointerExceptionSE- 引数nameがnullの場合- 関連事項:
getAttributeNames()
getAttributeNames
EnumerationSE<StringSE> getAttributeNames()
この ServletContext 内で使用可能な属性名を含むEnumerationを返します。属性の値を取得するには、属性名とともに
getAttribute(java.lang.String)メソッドを使用します。- 戻り値:
- 属性名の
Enumeration - 関連事項:
getAttribute(java.lang.String)
setAttribute
void setAttribute(StringSE name, ObjectSE object)
この ServletContext の特定の属性名にオブジェクトをバインドします。指定された名前がすでに属性に使用されている場合、このメソッドは属性を新しい属性の新しいものに置き換えます。リスナーが
ServletContextで構成されている場合、コンテナーはそれに応じて通知します。null 値が渡された場合、結果は
removeAttribute()を呼び出した場合と同じです。属性名は、パッケージ名と同じ規則に従う必要があります。Jakarta Servlet 仕様では、
java.*、javax.*、sun.*に一致する名前が予約されています。- パラメーター:
name- 属性の名前を指定するStringobject- バインドされる属性を表すObject- 例外:
NullPointerExceptionSE- 名前パラメーターがnullの場合
removeAttribute
void removeAttribute(StringSE name)
この ServletContext から指定された名前の属性を削除します。削除後、属性値を取得するためのgetAttribute(java.lang.String)への後続の呼び出しはnullを返します。リスナーが
ServletContextで構成されている場合、コンテナーはそれに応じて通知します。- パラメーター:
name- 削除する属性の名前を指定するString
getServletContextName
StringSE getServletContextName()
display-name 要素によってこの Web アプリケーションのデプロイ記述子で指定された、この ServletContext に対応するこの Web アプリケーションの名前を返します。- 戻り値:
- Web アプリケーションの名前、またはデプロイ記述子で名前が宣言されていない場合は null。
- 導入:
- Servlet 2.3
addServlet
ServletRegistration.Dynamic addServlet(StringSE servletName, StringSE className)
指定された名前とクラス名を持つサーブレットをこのサーブレットコンテキストに追加します。登録されたサーブレットは、返された
ServletRegistrationオブジェクトを介してさらに構成できます。指定された className は、この ServletContext によって表されるアプリケーションに関連付けられたクラスローダーを使用してロードされます。
この ServletContext に、指定された servletName を持つサーブレットの準備 ServletRegistration がすでに含まれている場合は、(指定された className を割り当てることによって) 完了し、返されます。
このメソッドは、指定された className を持つクラスを、
ServletSecurity、MultipartConfig、jakarta.annotation.security.RunAs、および jakarta.annotation.security.DeclareRoles アノテーションについてイントロスペクトします。さらに、指定された className を持つクラスが Managed Bean を表す場合、このメソッドはリソースインジェクションをサポートします。Managed Bean とリソースインジェクションの詳細については、Jakarta EE プラットフォームと CDI 仕様を参照してください。- パラメーター:
servletName- サーブレットの名前className- サーブレットの完全修飾クラス名- 戻り値:
- 登録されたサーブレットをさらに構成するために使用できる ServletRegistration オブジェクト、またはこの ServletContext に、指定された servletName を持つサーブレットの完全な ServletRegistration がすでに含まれている場合は null
- 例外:
IllegalStateExceptionSE- この ServletContext がすでに初期化されている場合IllegalArgumentExceptionSE-servletNameが null または空の文字列の場合UnsupportedOperationExceptionSE- この ServletContext が、web.xmlまたはweb-fragment.xmlで宣言されておらず、WebListenerでアノテーションも付けられていないServletContextListenerのServletContextListener.contextInitialized(jakarta.servlet.ServletContextEvent)メソッドに渡された場合- 導入:
- Servlet 3.0
addServlet
ServletRegistration.Dynamic addServlet(StringSE servletName, Servlet servlet)
指定されたサーブレットインスタンスを、指定された servletName のこの ServletContext に登録します。登録されたサーブレットは、返された
ServletRegistrationオブジェクトを介してさらに構成できます。この ServletContext に、指定された servletName を持つサーブレットの準備 ServletRegistration がすでに含まれている場合は、(指定されたサーブレットインスタンスのクラス名を割り当てることによって) 完了して返されます。
- パラメーター:
servletName- サーブレットの名前servlet- 登録するサーブレットインスタンス- 戻り値:
- 指定されたサーブレットをさらに構成するために使用できる ServletRegistration オブジェクト。この ServletContext に、指定された servletName を持つサーブレットの完全な ServletRegistration がすでに含まれている場合、または同じサーブレットインスタンスがすでにこの ServletContext または同じコンテナー内の別の ServletContext に登録されている場合は、null になります。
- 例外:
IllegalStateExceptionSE- この ServletContext がすでに初期化されている場合UnsupportedOperationExceptionSE- この ServletContext が、web.xmlまたはweb-fragment.xmlで宣言されておらず、WebListenerでアノテーションも付けられていないServletContextListenerのServletContextListener.contextInitialized(jakarta.servlet.ServletContextEvent)メソッドに渡された場合IllegalArgumentExceptionSE-servletNameが null または空の文字列の場合- 導入:
- Servlet 3.0
addServlet
ServletRegistration.Dynamic addServlet(StringSE servletName, ClassSE<? extends Servlet> servletClass)
指定された名前とクラス型のサーブレットをこのサーブレットコンテキストに追加します。登録されたサーブレットは、返された
ServletRegistrationオブジェクトを介してさらに構成できます。この ServletContext に、指定された servletName を持つサーブレットの準備 ServletRegistration がすでに含まれている場合は、(指定された servletClass の名前を割り当てることによって) 完了して返されます。
このメソッドは、指定された servletClass から
ServletSecurity、MultipartConfig、jakarta.annotation.security.RunAs、および jakarta.annotation.security.DeclareRoles アノテーションをイントロスペクトします。さらに、指定された servletClass が Managed Bean を表す場合、このメソッドはリソースインジェクションをサポートします。Managed Bean とリソースインジェクションの詳細については、Jakarta EE プラットフォームと CDI 仕様を参照してください。- パラメーター:
servletName- サーブレットの名前servletClass- サーブレットのインスタンス化元のクラスオブジェクト- 戻り値:
- 登録されたサーブレットをさらに構成するために使用できる ServletRegistration オブジェクト、またはこの ServletContext に指定された servletName の完全な ServletRegistration がすでに含まれている場合は null
- 例外:
IllegalStateExceptionSE- この ServletContext がすでに初期化されている場合IllegalArgumentExceptionSE-servletNameが null または空の文字列の場合UnsupportedOperationExceptionSE- この ServletContext が、web.xmlまたはweb-fragment.xmlで宣言されておらず、WebListenerでアノテーションも付けられていないServletContextListenerのServletContextListener.contextInitialized(jakarta.servlet.ServletContextEvent)メソッドに渡された場合- 導入:
- Servlet 3.0
addJspFile
ServletRegistration.Dynamic addJspFile(StringSE servletName, StringSE jspFile)
指定された jsp ファイルを持つサーブレットをこのサーブレットコンテキストに追加します。登録されたサーブレットは、返された
ServletRegistrationオブジェクトを介してさらに構成できます。この ServletContext に、指定された servletName を持つサーブレットの準備 ServletRegistration がすでに含まれている場合は、(指定された jspFile を割り当てることによって) 完了し、返されます。
- パラメーター:
servletName- サーブレットの名前jspFile- "/" で始まる Web アプリケーション内の JSP ファイルへのフルパス。- 戻り値:
- 登録されたサーブレットをさらに構成するために使用できる ServletRegistration オブジェクト、またはこの ServletContext に、指定された servletName を持つサーブレットの完全な ServletRegistration がすでに含まれている場合は null
- 例外:
IllegalStateExceptionSE- この ServletContext がすでに初期化されている場合IllegalArgumentExceptionSE-servletNameが null または空の文字列の場合UnsupportedOperationExceptionSE- この ServletContext が、web.xmlまたはweb-fragment.xmlで宣言されておらず、WebListenerでアノテーションも付けられていないServletContextListenerのServletContextListener.contextInitialized(jakarta.servlet.ServletContextEvent)メソッドに渡された場合- 導入:
- Servlet 4.0
createServlet
<T extends Servlet> T createServlet(ClassSE<T> clazz) throws ServletException
指定されたサーブレットクラスをインスタンス化します。返されたサーブレットインスタンスは、
addServlet(String,Servlet)の呼び出しによってこの ServletContext に登録される前にさらにカスタマイズできます。指定された Servlet クラスは、インスタンス化に使用されるゼロ引数コンストラクターを定義する必要があります。
このメソッドは、指定された clazz のアノテーション
ServletSecurity、MultipartConfig、jakarta.annotation.security.RunAs、および jakarta.annotation.security.DeclareRoles をイントロスペクトします。さらに、このメソッドは、指定された clazz がマネージド Bean を表す場合、リソースインジェクションをサポートします。マネージド Bean とリソースインジェクションの詳細については、Jakarta EE プラットフォームと CDI の仕様を参照してください。- 型パラメーター:
T- 作成するサーブレットのクラス- パラメーター:
clazz- インスタンス化するサーブレットクラス- 戻り値:
- 新しいサーブレットインスタンス
- 例外:
ServletException- 指定された clazz のインスタンス化に失敗した場合UnsupportedOperationExceptionSE- この ServletContext が、web.xmlまたはweb-fragment.xmlで宣言されておらず、WebListenerでアノテーションも付けられていないServletContextListenerのServletContextListener.contextInitialized(jakarta.servlet.ServletContextEvent)メソッドに渡された場合- 導入:
- Servlet 3.0
getServletRegistration
ServletRegistration getServletRegistration(StringSE servletName)
指定された servletName を持つサーブレットに対応する ServletRegistration を取得します。- パラメーター:
servletName- サーブレットの名前- 戻り値:
- 指定された servletName を持つサーブレットの (完全または予備の) ServletRegistration。その名前で ServletRegistration が存在しない場合は null になります
- 例外:
UnsupportedOperationExceptionSE- この ServletContext が、web.xmlまたはweb-fragment.xmlで宣言されておらず、WebListenerでアノテーションも付けられていないServletContextListenerのServletContextListener.contextInitialized(jakarta.servlet.ServletContextEvent)メソッドに渡された場合- 導入:
- Servlet 3.0
getServletRegistrations
MapSE<StringSE,? extends ServletRegistration> getServletRegistrations()
この ServletContext で登録されたすべてのサーブレットに対応する ServletRegistration オブジェクトのマップ(空の場合あり)(サーブレット名をキーとする)を取得する返されるマップには、宣言されアノテーションが付けられたすべてのサーブレットに対応する ServletRegistration オブジェクトと、addServlet メソッドと addJspFile メソッドのいずれかを使用して追加されたすべてのサーブレットに対応する ServletRegistration オブジェクトが含まれます。
許可されている場合、返されたマップへの変更は、この ServletContext に影響してはなりません。
- 戻り値:
- この ServletContext に現在登録されているすべてのサーブレットに対応する(完全および予備の)ServletRegistration オブジェクトのマップ
- 例外:
UnsupportedOperationExceptionSE- この ServletContext が、web.xmlまたはweb-fragment.xmlで宣言されておらず、WebListenerでアノテーションも付けられていないServletContextListenerのServletContextListener.contextInitialized(jakarta.servlet.ServletContextEvent)メソッドに渡された場合- 導入:
- Servlet 3.0
addFilter
FilterRegistration.Dynamic addFilter(StringSE filterName, StringSE className)
指定された名前とクラス名を持つフィルターをこのサーブレットコンテキストに追加します。登録されたフィルターは、返された
FilterRegistrationオブジェクトを介してさらに構成できます。指定された className は、この ServletContext によって表されるアプリケーションに関連付けられたクラスローダーを使用してロードされます。
この ServletContext に、指定された filterName を持つフィルターの準備 FilterRegistration がすでに含まれている場合は、(指定された className を割り当てることによって) 完了して返されます。
このメソッドは、指定された className を持つクラスがマネージド Bean を表す場合にリソースインジェクションをサポートします。マネージド Bean とリソースインジェクションの詳細については、Jakarta EE プラットフォームと CDI 仕様を参照してください。
- パラメーター:
filterName- フィルターの名前className- フィルターの完全修飾クラス名- 戻り値:
- 登録されたフィルターをさらに構成するために使用できる FilterRegistration オブジェクト、またはこの ServletContext に、指定された filterName を持つフィルターの完全な FilterRegistration がすでに含まれている場合は null
- 例外:
IllegalStateExceptionSE- この ServletContext がすでに初期化されている場合IllegalArgumentExceptionSE-filterNameが null または空の文字列の場合UnsupportedOperationExceptionSE- この ServletContext が、web.xmlまたはweb-fragment.xmlで宣言されておらず、WebListenerでアノテーションも付けられていないServletContextListenerのServletContextListener.contextInitialized(jakarta.servlet.ServletContextEvent)メソッドに渡された場合- 導入:
- Servlet 3.0
addFilter
FilterRegistration.Dynamic addFilter(StringSE filterName, Filter filter)
指定されたフィルターインスタンスを、指定された filterName にあるこの ServletContext に登録します。登録されたフィルターは、返された
FilterRegistrationオブジェクトを介してさらに構成できます。この ServletContext に、指定された filterName を持つフィルターの準備 FilterRegistration がすでに含まれている場合は、(指定されたフィルターインスタンスのクラス名を割り当てることによって) 完了して返されます。
- パラメーター:
filterName- フィルターの名前filter- 登録するフィルターインスタンス- 戻り値:
- 指定されたフィルターをさらに構成するために使用できる FilterRegistration オブジェクト。または、この ServletContext に、指定された filterName を持つフィルターの完全な FilterRegistration がすでに含まれている場合、または同じフィルターインスタンスがすでにこの ServletContext または同じコンテナー内の別の ServletContext に登録されている場合は、null になります。
- 例外:
IllegalStateExceptionSE- この ServletContext がすでに初期化されている場合IllegalArgumentExceptionSE-filterNameが null または空の文字列の場合UnsupportedOperationExceptionSE- この ServletContext が、web.xmlまたはweb-fragment.xmlで宣言されておらず、WebListenerでアノテーションも付けられていないServletContextListenerのServletContextListener.contextInitialized(jakarta.servlet.ServletContextEvent)メソッドに渡された場合- 導入:
- Servlet 3.0
addFilter
FilterRegistration.Dynamic addFilter(StringSE filterName, ClassSE<? extends Filter> filterClass)
このサーブレットコンテキストに、指定された名前とクラス型のフィルターを追加します。登録されたフィルターは、返された
FilterRegistrationオブジェクトを介してさらに構成できます。この ServletContext に、指定された filterName を持つフィルターの準備 FilterRegistration がすでに含まれている場合は、(指定された filterClass の名前を割り当てることによって) 完了して返されます。
このメソッドは、指定された filterClass が Managed Bean を表す場合にリソースインジェクションをサポートします。Managed Bean とリソースインジェクションの詳細については、Jakarta EE プラットフォームと CDI 仕様を参照してください。
- パラメーター:
filterName- フィルターの名前filterClass- フィルターがインスタンス化されるクラスオブジェクト- 戻り値:
- 登録されたフィルターをさらに構成するために使用できる FilterRegistration オブジェクト、またはこの ServletContext に、指定された filterName を持つフィルターの完全な FilterRegistration がすでに含まれている場合は null
- 例外:
IllegalStateExceptionSE- この ServletContext がすでに初期化されている場合IllegalArgumentExceptionSE-filterNameが null または空の文字列の場合UnsupportedOperationExceptionSE- この ServletContext が、web.xmlまたはweb-fragment.xmlで宣言されておらず、WebListenerでアノテーションも付けられていないServletContextListenerのServletContextListener.contextInitialized(jakarta.servlet.ServletContextEvent)メソッドに渡された場合- 導入:
- Servlet 3.0
createFilter
<T extends Filter> T createFilter(ClassSE<T> clazz) throws ServletException
指定された Filter クラスをインスタンス化します。返された Filter インスタンスは、
addFilter(String,Filter)への呼び出しを介してこの ServletContext に登録される前にさらにカスタマイズできます。指定された Filter クラスは、インスタンス化に使用されるゼロ引数コンストラクターを定義する必要があります。
指定された clazz がマネージド Bean を表す場合、このメソッドはリソースインジェクションをサポートします。マネージド Bean とリソースインジェクションの詳細については、Jakarta EE プラットフォームと CDI の仕様を参照してください。
- 型パラメーター:
T- 作成するフィルターのクラス- パラメーター:
clazz- インスタンス化する Filter クラス- 戻り値:
- 新しい Filter インスタンス
- 例外:
ServletException- 指定された clazz のインスタンス化に失敗した場合UnsupportedOperationExceptionSE- この ServletContext が、web.xmlまたはweb-fragment.xmlで宣言されておらず、WebListenerでアノテーションも付けられていないServletContextListenerのServletContextListener.contextInitialized(jakarta.servlet.ServletContextEvent)メソッドに渡された場合- 導入:
- Servlet 3.0
getFilterRegistration
FilterRegistration getFilterRegistration(StringSE filterName)
指定された filterName を持つフィルターに対応する FilterRegistration を取得します。- パラメーター:
filterName- フィルターの名前- 戻り値:
- 指定された filterName を持つフィルターの (完全または予備の) FilterRegistration、またはその名前で FilterRegistration が存在しない場合は null
- 例外:
UnsupportedOperationExceptionSE- この ServletContext が、web.xmlまたはweb-fragment.xmlで宣言されておらず、WebListenerでアノテーションも付けられていないServletContextListenerのServletContextListener.contextInitialized(jakarta.servlet.ServletContextEvent)メソッドに渡された場合- 導入:
- Servlet 3.0
getFilterRegistrations
MapSE<StringSE,? extends FilterRegistration> getFilterRegistrations()
この ServletContext に登録されているすべてのフィルターに対応する FilterRegistration オブジェクト(フィルター名をキーとする)の(おそらく空の)マップを取得します。返されるマップには、宣言されアノテーションが付けられたすべてのフィルターに対応する FilterRegistration オブジェクトと、addFilter メソッドのいずれかを使用して追加されたすべてのフィルターに対応する FilterRegistration オブジェクトが含まれます。
返されたマップの変更は、この ServletContext に影響してはなりません。
- 戻り値:
- この ServletContext に現在登録されているすべてのフィルターに対応する(完全および予備の)FilterRegistration オブジェクトのマップ
- 例外:
UnsupportedOperationExceptionSE- この ServletContext が、web.xmlまたはweb-fragment.xmlで宣言されておらず、WebListenerでアノテーションも付けられていないServletContextListenerのServletContextListener.contextInitialized(jakarta.servlet.ServletContextEvent)メソッドに渡された場合- 導入:
- Servlet 3.0
getSessionCookieConfig
SessionCookieConfig getSessionCookieConfig()
この ServletContext のために作成されたセッショントラッキング Cookie のさまざまなプロパティを構成するために使用されるSessionCookieConfigオブジェクトを取得します。このメソッドを繰り返し呼び出すと、同じ SessionCookieConfig インスタンスが返されます。
- 戻り値:
- この ServletContext に代わって作成されたセッショントラッキング Cookie のさまざまなプロパティを構成する SessionCookieConfig オブジェクト
- 例外:
UnsupportedOperationExceptionSE- この ServletContext が、web.xmlまたはweb-fragment.xmlで宣言されておらず、WebListenerでアノテーションも付けられていないServletContextListenerのServletContextListener.contextInitialized(jakarta.servlet.ServletContextEvent)メソッドに渡された場合- 導入:
- Servlet 3.0
setSessionTrackingModes
void setSessionTrackingModes(SetSE<SessionTrackingMode> sessionTrackingModes)
この ServletContext で有効になるセッション追跡モードを設定します。指定された sessionTrackingModes は、この ServletContext でこのメソッドを以前に呼び出して設定されたセッション追跡モードを置き換えます。
- パラメーター:
sessionTrackingModes- この ServletContext に対して有効になるセッション追跡モードのセット- 例外:
IllegalStateExceptionSE- この ServletContext がすでに初期化されている場合UnsupportedOperationExceptionSE- この ServletContext が、web.xmlまたはweb-fragment.xmlで宣言されておらず、WebListenerでアノテーションも付けられていないServletContextListenerのServletContextListener.contextInitialized(jakarta.servlet.ServletContextEvent)メソッドに渡された場合IllegalArgumentExceptionSE- sessionTrackingModes が SessionTrackingMode.SSL と SessionTrackingMode.SSL 以外のセッション追跡モードの組み合わせを指定している場合、または sessionTrackingModes がサーブレットコンテナーでサポートされていないセッション追跡モードを指定している場合- 導入:
- Servlet 3.0
getDefaultSessionTrackingModes
SetSE<SessionTrackingMode> getDefaultSessionTrackingModes()
この ServletContext でデフォルトでサポートされているセッション追跡モードを取得します。返されたセットは
ServletContextオブジェクトによって支援されないため、返されたセットの変更はServletContextオブジェクトに反映されず、その逆も同様です。- 戻り値:
- この ServletContext でデフォルトでサポートされるセッション追跡モードのセット
- 導入:
- Servlet 3.0
getEffectiveSessionTrackingModes
SetSE<SessionTrackingMode> getEffectiveSessionTrackingModes()
この ServletContext で有効なセッション追跡モードを取得します。有効なセッション追跡モードは、
setSessionTrackingModesに提供されるモードです。返されたセットは
ServletContextオブジェクトによって支援されないため、返されたセットの変更はServletContextオブジェクトに反映されず、その逆も同様です。- 戻り値:
- この ServletContext で有効なセッション追跡モードのセット
- 導入:
- Servlet 3.0
addListener
void addListener(StringSE className)
指定されたクラス名のリスナーをこの ServletContext に追加します。指定された名前のクラスは、この ServletContext によって表されるアプリケーションに関連付けられたクラスローダーを使用してロードされ、次のインターフェースの 1 つ以上を実装する必要があります。
ServletContextAttributeListenerServletRequestListenerServletRequestAttributeListenerHttpSessionAttributeListenerHttpSessionIdListenerHttpSessionListener
この ServletContext が
ServletContainerInitializer.onStartup(java.util.Set<java.lang.Class<?>>, jakarta.servlet.ServletContext)に渡された場合、指定された名前のクラスは、上記のインターフェースに加えてServletContextListenerも実装できます。このメソッド呼び出しの一部として、コンテナーは、指定されたクラス名でクラスをロードして、必要なインターフェースの 1 つを確実に実装する必要があります。
指定された名前を持つクラスが、呼び出し順序が宣言順序に対応するリスナーインターフェースを実装する場合(つまり、
ServletRequestListener、ServletContextListener、HttpSessionListenerを実装する場合)、新しいリスナーは、リスナーの順序付きリストの最後に追加されます。そのインターフェース。このメソッドは、指定された className を持つクラスがマネージド Bean を表す場合にリソースインジェクションをサポートします。マネージド Bean とリソースインジェクションの詳細については、Jakarta EE プラットフォームと CDI 仕様を参照してください。
- パラメーター:
className- リスナーの完全修飾クラス名- 例外:
IllegalArgumentExceptionSE- 指定された名前のクラスが上記のインターフェースのいずれも実装していない場合、またはServletContextListenerを実装し、この ServletContext がServletContainerInitializer.onStartup(java.util.Set<java.lang.Class<?>>, jakarta.servlet.ServletContext)に渡されなかった場合IllegalStateExceptionSE- この ServletContext がすでに初期化されている場合UnsupportedOperationExceptionSE- この ServletContext が、web.xmlまたはweb-fragment.xmlで宣言されておらず、WebListenerでアノテーションも付けられていないServletContextListenerのServletContextListener.contextInitialized(jakarta.servlet.ServletContextEvent)メソッドに渡された場合- 導入:
- Servlet 3.0
addListener
<T extends EventListenerSE> void addListener(T t)
指定されたリスナーをこの ServletContext に追加します。指定されたリスナーは、以下の 1 つ以上のインターフェースのインスタンスでなければなりません。
ServletContextAttributeListenerServletRequestListenerServletRequestAttributeListenerHttpSessionAttributeListenerHttpSessionIdListenerHttpSessionListener
この ServletContext が
ServletContainerInitializer.onStartup(java.util.Set<java.lang.Class<?>>, jakarta.servlet.ServletContext)に渡された場合、指定されたリスナーは、上記のインターフェースに加えて、ServletContextListenerのインスタンスにもなります。指定されたリスナーが、その呼び出し順が宣言順と一致するリスナーインターフェースのインスタンスである場合(つまり、それが
ServletRequestListener,ServletContextListener,HttpSessionListenerのインスタンスである場合)、そのリスナーは、そのインターフェースのリスナーの順序付けられたリストの最後に追加されます。- 型パラメーター:
T- 追加する EventListener のクラス- パラメーター:
t- 追加するリスナー- 例外:
IllegalArgumentExceptionSE- 指定されたリスナーが上記のインターフェースのインスタンスではない場合、またはServletContextListenerのインスタンスであり、この ServletContext がServletContainerInitializer.onStartup(java.util.Set<java.lang.Class<?>>, jakarta.servlet.ServletContext)に渡されなかった場合IllegalStateExceptionSE- この ServletContext がすでに初期化されている場合UnsupportedOperationExceptionSE- この ServletContext が、web.xmlまたはweb-fragment.xmlで宣言されておらず、WebListenerでアノテーションも付けられていないServletContextListenerのServletContextListener.contextInitialized(jakarta.servlet.ServletContextEvent)メソッドに渡された場合- 導入:
- Servlet 3.0
addListener
void addListener(ClassSE<? extends EventListenerSE> listenerClass)
指定されたクラス型のリスナーをこの ServletContext に追加します。指定された listenerClass は、次のインターフェースの 1 つ以上を実装する必要があります。
ServletContextAttributeListenerServletRequestListenerServletRequestAttributeListenerHttpSessionAttributeListenerHttpSessionIdListenerHttpSessionListener
この ServletContext が
ServletContainerInitializer.onStartup(java.util.Set<java.lang.Class<?>>, jakarta.servlet.ServletContext)に渡された場合、指定された listenerClass は、上記のインターフェースに加えて、ServletContextListenerも実装する可能性があります。指定された listenerClass が、呼び出し順序が宣言順序に対応するリスナーインターフェースを実装している場合 (つまり、
ServletRequestListener、ServletContextListener、またはHttpSessionListenerを実装している場合)、新しいリスナーはそのインターフェースのリスナーの順序付きリストの末尾に追加されます。このメソッドは、指定された listenerClass が Managed Bean を表す場合にリソースインジェクションをサポートします。Managed Bean とリソースインジェクションの詳細については、Jakarta EE プラットフォームと CDI 仕様を参照してください。
- パラメーター:
listenerClass- インスタンス化されるリスナークラス- 例外:
IllegalArgumentExceptionSE- 指定された listenerClass が上記のインターフェースのいずれも実装していない場合、またはServletContextListenerを実装していてこの ServletContext がServletContainerInitializer.onStartup(java.util.Set<java.lang.Class<?>>, jakarta.servlet.ServletContext)に渡されなかった場合IllegalStateExceptionSE- この ServletContext がすでに初期化されている場合UnsupportedOperationExceptionSE- この ServletContext が、web.xmlまたはweb-fragment.xmlで宣言されておらず、WebListenerでアノテーションも付けられていないServletContextListenerのServletContextListener.contextInitialized(jakarta.servlet.ServletContextEvent)メソッドに渡された場合- 導入:
- Servlet 3.0
createListener
<T extends EventListenerSE> T createListener(ClassSE<T> clazz) throws ServletException
指定された EventListener クラスをインスタンス化します。指定された EventListener クラスは、
ServletContextListener、ServletContextAttributeListener、ServletRequestListener、ServletRequestAttributeListener、HttpSessionAttributeListener、HttpSessionIdListener、HttpSessionListenerインターフェースの少なくとも 1 つを実装する必要があります。返された EventListener インスタンスは、
addListener(EventListener)の呼び出しを介してこの ServletContext に登録される前にさらにカスタマイズできます。指定された EventListener クラスは、インスタンス化に使用されるゼロ引数コンストラクターを定義する必要があります。
指定された clazz がマネージド Bean を表す場合、このメソッドはリソースインジェクションをサポートします。マネージド Bean とリソースインジェクションの詳細については、Jakarta EE プラットフォームと CDI の仕様を参照してください。
- 型パラメーター:
T- 作成する EventListener のクラス- パラメーター:
clazz- インスタンス化する EventListener クラス- 戻り値:
- 新しい EventListener インスタンス
- 例外:
ServletException- 指定された clazz のインスタンス化に失敗した場合UnsupportedOperationExceptionSE- この ServletContext が、web.xmlまたはweb-fragment.xmlで宣言されておらず、WebListenerでアノテーションも付けられていないServletContextListenerのServletContextListener.contextInitialized(jakarta.servlet.ServletContextEvent)メソッドに渡された場合IllegalArgumentExceptionSE- 指定された EventListener クラスがServletContextListener、ServletContextAttributeListener、ServletRequestListener、ServletRequestAttributeListener、HttpSessionAttributeListener、HttpSessionIdListener、HttpSessionListenerインターフェースのいずれも実装していない場合- 導入:
- Servlet 3.0
getJspConfigDescriptor
JspConfigDescriptor getJspConfigDescriptor()
この ServletContext によって表される Web アプリケーションのweb.xmlおよびweb-fragment.xml記述子ファイルから集約された<jsp-config>関連の構成を取得します。- 戻り値:
- この ServletContext によって表される Web アプリケーションの
web.xmlおよびweb-fragment.xml記述子ファイルから集約された<jsp-config>関連の構成、またはそのような構成が存在しない場合は null - 導入:
- Servlet 3.0
- 関連事項:
JspConfigDescriptor
getClassLoader
ClassLoaderSE getClassLoader()
この ServletContext によって表される Web アプリケーションのクラスローダーを取得します。セキュリティマネージャーが存在し、呼び出し元のクラスローダーがリクエストされたクラスローダーと同じではない場合、またはリクエストされたクラスローダーの祖先でない場合、リクエストされたクラスローダーへのアクセスを許可するかどうかを確認するために、セキュリティマネージャーの
checkPermissionメソッドがRuntimePermission("getClassLoader")許可で呼び出されます。- 戻り値:
- この ServletContext によって表される Web アプリケーションのクラスローダー
- 例外:
SecurityExceptionSE- セキュリティマネージャーがリクエストされたクラスローダーへのアクセスを拒否した場合- 導入:
- Servlet 3.0
declareRoles
void declareRoles(StringSE... roleNames)
isUserInRoleを使用してテストされるロール名を宣言します。ServletRegistrationインターフェースのsetServletSecurityまたはsetRunAsRoleメソッド内での使用の結果として暗黙的に宣言されるロールは、宣言する必要はありません。- パラメーター:
roleNames- 宣言されているロール名- 例外:
UnsupportedOperationExceptionSE- この ServletContext が、web.xmlまたはweb-fragment.xmlで宣言されておらず、WebListenerでアノテーションも付けられていないServletContextListenerのServletContextListener.contextInitialized(jakarta.servlet.ServletContextEvent)メソッドに渡された場合IllegalArgumentExceptionSE- 引数 roleNames のいずれかが null または空文字列の場合IllegalStateExceptionSE- ServletContext がすでに初期化されている場合- 導入:
- Servlet 3.0
getVirtualServerName
StringSE getVirtualServerName()
ServletContext がデプロイされている論理ホストの構成名を返します。サーブレットコンテナーは複数の論理ホストをサポートする場合があります。このメソッドは、論理ホストにデプロイされたすべてのサーブレットコンテキストに対して同じ名前を返す必要があり、このメソッドによって返される名前は、論理ホストごとに明確で安定しており、サーバー構成情報を論理ホストに関連付けるのに適している必要があります。返される値は、論理ホストのネットワークアドレスまたはホスト名と同等である必要はありません。- 戻り値:
- サーブレットコンテキストがデプロイされている論理ホストの構成名を含む
String。 - 導入:
- Servlet 3.1
getSessionTimeout
int getSessionTimeout()
この ServletContext でデフォルトでサポートされているセッションタイムアウトを分単位で取得します。- 戻り値:
- この ServletContext でデフォルトでサポートされるセッションタイムアウト(分)
- 導入:
- Servlet 4.0
setSessionTimeout
void setSessionTimeout(int sessionTimeout)
この ServletContext のセッションタイムアウトを分単位で設定します。- パラメーター:
sessionTimeout- 分単位のセッションタイムアウト- 例外:
IllegalStateExceptionSE- この ServletContext がすでに初期化されている場合UnsupportedOperationExceptionSE- この ServletContext が、web.xmlまたはweb-fragment.xmlで宣言されておらず、WebListenerでアノテーションも付けられていないServletContextListenerのServletContextListener.contextInitialized(jakarta.servlet.ServletContextEvent)メソッドに渡された場合- 導入:
- Servlet 4.0
getRequestCharacterEncoding
StringSE getRequestCharacterEncoding()
この ServletContext でデフォルトでサポートされているリクエスト文字エンコーディングを取得します。このメソッドは、デプロイ記述子またはコンテナー固有の構成(コンテナー内のすべての Web アプリケーション)で文字エンコードをエンコードするリクエストが指定されていない場合、null を返します。- 戻り値:
- この ServletContext でデフォルトでサポートされているリクエスト文字エンコーディング
- 導入:
- Servlet 4.0
setRequestCharacterEncoding
void setRequestCharacterEncoding(StringSE encoding)
この ServletContext のリクエスト文字エンコードを設定します。- パラメーター:
encoding- リクエスト文字エンコーディング- 例外:
IllegalStateExceptionSE- この ServletContext がすでに初期化されている場合UnsupportedOperationExceptionSE- この ServletContext が、web.xmlまたはweb-fragment.xmlで宣言されておらず、WebListenerでアノテーションも付けられていないServletContextListenerのServletContextListener.contextInitialized(jakarta.servlet.ServletContextEvent)メソッドに渡された場合- 導入:
- Servlet 4.0
getResponseCharacterEncoding
StringSE getResponseCharacterEncoding()
この ServletContext でデフォルトでサポートされているレスポンス文字エンコードを取得します。このメソッドは、デプロイ記述子またはコンテナー固有の構成(コンテナー内のすべての Web アプリケーション)で文字エンコードがエンコードされていない場合、null を返します。- 戻り値:
- この ServletContext でデフォルトでサポートされているリクエスト文字エンコーディング
- 導入:
- Servlet 4.0
setResponseCharacterEncoding
void setResponseCharacterEncoding(StringSE encoding)
この ServletContext のレスポンス文字エンコードを設定します。- パラメーター:
encoding- レスポンス文字エンコード- 例外:
IllegalStateExceptionSE- この ServletContext がすでに初期化されている場合UnsupportedOperationExceptionSE- この ServletContext が、web.xmlまたはweb-fragment.xmlで宣言されておらず、WebListenerでアノテーションも付けられていないServletContextListenerのServletContextListener.contextInitialized(jakarta.servlet.ServletContextEvent)メソッドに渡された場合- 導入:
- Servlet 4.0