パッケージ jakarta.servlet

インターフェース 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_LIBS
      WEB-INF/lib 内の JAR ファイルの名前のリストが、その値 (java.util.List<java.lang.String> 型) に含まれている ServletContext 属性の名前 (<others/> なしの <absolute-ordering> を使用している場合は除外される可能性あり)。絶対または相対順序が指定されていない場合は NULL。
      static StringSETEMPDIR
      ServletContext のサーブレットコンテナーによって提供される( java.io.File 型の)プライベート一時ディレクトリを格納する ServletContext 属性の名前
    • フィールドの詳細

      • TEMPDIR

        static final StringSE TEMPDIR
        ServletContext のサーブレットコンテナーによって提供される( java.io.File 型の)プライベート一時ディレクトリを格納する ServletContext 属性の名前
        関連事項:
        定数フィールド値
      • ORDERED_LIBS

        static final StringSE ORDERED_LIBS
        WEB-INF/lib 内の JAR ファイルの名前のリストが、その値 (java.util.List<java.lang.String> 型) に含まれている ServletContext 属性の名前 (<others/> なしの <absolute-ordering> を使用している場合は除外される可能性あり)。絶対または相対順序が指定されていない場合は NULL。
        導入:
        Servlet 3.0
        関連事項:
        定数フィールド値
    • メソッドの詳細

      • 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 アプリケーションの場合:

         
           /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
         
         
        getResourcePaths("/"){"/welcome.html","/catalog/","/customer/","/WEB-INF/"} を返し、getResourcePaths("/catalog/"){"/catalog/index.html","/catalog/products.html","/catalog/offers/","/catalog/moreOffers/"} を返します。
        パラメーター:
        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 - エラーまたは例外を記述する String 
        throwable - 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 でアノテーションも付けられていない ServletContextListenerServletContextListener.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()
      • setAttribute

        void setAttribute​(StringSE name,
                          ObjectSE object)
        この ServletContext の特定の属性名にオブジェクトをバインドします。指定された名前がすでに属性に使用されている場合、このメソッドは属性を新しい属性の新しいものに置き換えます。

        リスナーが ServletContext で構成されている場合、コンテナーはそれに応じて通知します。

        null 値が渡された場合、結果は removeAttribute() を呼び出した場合と同じです。

        属性名は、パッケージ名と同じ規則に従う必要があります。Jakarta Servlet 仕様では、java.*javax.*sun.* に一致する名前が予約されています。

        パラメーター:
        name - 属性の名前を指定する String 
        object - バインドされる属性を表す 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 を持つクラスを、ServletSecurityMultipartConfigjakarta.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 でアノテーションも付けられていない ServletContextListenerServletContextListener.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 でアノテーションも付けられていない ServletContextListenerServletContextListener.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 から ServletSecurityMultipartConfigjakarta.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 でアノテーションも付けられていない ServletContextListenerServletContextListener.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 でアノテーションも付けられていない ServletContextListenerServletContextListener.contextInitialized(jakarta.servlet.ServletContextEvent) メソッドに渡された場合
        導入:
        Servlet 4.0
      • createServlet

        <T extends Servlet> T createServlet​(ClassSE<T> clazz)
                                     throws ServletException
        指定されたサーブレットクラスをインスタンス化します。

        返されたサーブレットインスタンスは、addServlet(String,Servlet) の呼び出しによってこの ServletContext に登録される前にさらにカスタマイズできます。

        指定された Servlet クラスは、インスタンス化に使用されるゼロ引数コンストラクターを定義する必要があります。

        このメソッドは、指定された clazz のアノテーション ServletSecurityMultipartConfigjakarta.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 でアノテーションも付けられていない ServletContextListenerServletContextListener.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 でアノテーションも付けられていない ServletContextListenerServletContextListener.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 でアノテーションも付けられていない ServletContextListenerServletContextListener.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 でアノテーションも付けられていない ServletContextListenerServletContextListener.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 でアノテーションも付けられていない ServletContextListenerServletContextListener.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 でアノテーションも付けられていない ServletContextListenerServletContextListener.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 でアノテーションも付けられていない ServletContextListenerServletContextListener.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 でアノテーションも付けられていない ServletContextListenerServletContextListener.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 でアノテーションも付けられていない ServletContextListenerServletContextListener.contextInitialized(jakarta.servlet.ServletContextEvent) メソッドに渡された場合
        IllegalArgumentExceptionSE - sessionTrackingModesSessionTrackingMode.SSLSessionTrackingMode.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
      • 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
      • getVirtualServerName

        StringSE getVirtualServerName()
        ServletContext がデプロイされている論理ホストの構成名を返します。サーブレットコンテナーは複数の論理ホストをサポートする場合があります。このメソッドは、論理ホストにデプロイされたすべてのサーブレットコンテキストに対して同じ名前を返す必要があり、このメソッドによって返される名前は、論理ホストごとに明確で安定しており、サーバー構成情報を論理ホストに関連付けるのに適している必要があります。返される値は、論理ホストのネットワークアドレスまたはホスト名と同等である必要はありません。
        戻り値:
        サーブレットコンテキストがデプロイされている論理ホストの構成名を含む String
        導入:
        Servlet 3.1
      • getSessionTimeout

        int getSessionTimeout()
        この ServletContext でデフォルトでサポートされているセッションタイムアウトを分単位で取得します。
        戻り値:
        この ServletContext でデフォルトでサポートされるセッションタイムアウト(分)
        導入:
        Servlet 4.0
      • getRequestCharacterEncoding

        StringSE getRequestCharacterEncoding()
        この ServletContext でデフォルトでサポートされているリクエスト文字エンコーディングを取得します。このメソッドは、デプロイ記述子またはコンテナー固有の構成(コンテナー内のすべての Web アプリケーション)で文字エンコードをエンコードするリクエストが指定されていない場合、null を返します。
        戻り値:
        この ServletContext でデフォルトでサポートされているリクエスト文字エンコーディング
        導入:
        Servlet 4.0
      • getResponseCharacterEncoding

        StringSE getResponseCharacterEncoding()
        この ServletContext でデフォルトでサポートされているレスポンス文字エンコードを取得します。このメソッドは、デプロイ記述子またはコンテナー固有の構成(コンテナー内のすべての Web アプリケーション)で文字エンコードがエンコードされていない場合、null を返します。
        戻り値:
        この ServletContext でデフォルトでサポートされているリクエスト文字エンコーディング
        導入:
        Servlet 4.0