public class MockServletContext extends java.lang.Object implements ServletContextEE
ServletContext
EE インターフェースのモック実装。Spring 5.0 以降、このモックのセットは Servlet 4.0 ベースラインに基づいて設計されています。
Servlet 3.1 と互換性がありますが、setMajorVersion(int)
/setMinorVersion(int)
を介して特定のバージョンを公開するように構成できます。デフォルトは 3.1 です。Servlet 3.1 のサポートは制限されていることに注意してください。サーブレット、フィルター、リスナーの登録方法はサポートされていません。どちらも JSP 構成ではありません。通常、これらの登録方法が使用される ServletContainerInitializers および WebApplicationInitializers を単体テストすることはお勧めしません。
テスト環境で完全な WebApplicationContext
をセットアップするには、AnnotationConfigWebApplicationContext
、XmlWebApplicationContext
、GenericWebApplicationContext
を使用して、対応する MockServletContext
インスタンスを渡すことができます。リソースパスを相対的なファイルシステムの場所として解釈するために、MockServletContext
を FileSystemResourceLoader
で構成することを検討してください。
MockServletContext(org.springframework.core.io.ResourceLoader)
, AnnotationConfigWebApplicationContext
, XmlWebApplicationContext
, GenericWebApplicationContext
ORDERED_LIBSEE, TEMPDIREE
コンストラクターと説明 |
---|
MockServletContext() ベースパスと DefaultResourceLoader を使用して、新しい MockServletContext を作成します(つまり |
MockServletContext(ResourceLoader resourceLoader) 指定された ResourceLoader を使用し、ベースパスを使用せずに、新しい MockServletContext を作成します。 |
MockServletContext(java.lang.String resourceBasePath) DefaultResourceLoader を使用して、新しい MockServletContext を作成します。 |
MockServletContext(java.lang.String resourceBasePath, ResourceLoader resourceLoader) 提供されたリソースベースパスとリソースローダーを使用して、新しい MockServletContext を作成します。 |
修飾子と型 | メソッドと説明 |
---|---|
FilterRegistration.DynamicEE | addFilter(java.lang.String filterName, java.lang.Class<? extends FilterEE> filterClass) このサーブレットコンテキストに、指定された名前とクラス型のフィルターを追加します。 |
FilterRegistration.DynamicEE | addFilter(java.lang.String filterName, FilterEE filter) 指定されたフィルターインスタンスを、指定された filterName にあるこの ServletContext に登録します。 |
FilterRegistration.DynamicEE | addFilter(java.lang.String filterName, java.lang.String className) 指定された名前とクラス名を持つフィルターをこのサーブレットコンテキストに追加します。 |
void | addInitParameter(java.lang.String name, java.lang.String value) |
ServletRegistration.DynamicEE | addJspFile(java.lang.String servletName, java.lang.String jspFile) 指定された jsp ファイルを持つサーブレットをこのサーブレットコンテキストに追加します。 |
void | addListener(java.lang.Class<? extends java.util.EventListener> listenerClass) 指定されたクラス型のリスナーをこの ServletContext に追加します。 |
void | addListener(java.lang.String className) 指定されたクラス名のリスナーをこの ServletContext に追加します。 |
<T extends java.util.EventListener> | addListener(T t) 指定されたリスナーをこの ServletContext に追加します。 |
void | addMimeType(java.lang.String fileExtension, MediaType mimeType) getMimeType(String) が使用する MIME 型マッピングを追加します。 |
ServletRegistration.DynamicEE | addServlet(java.lang.String servletName, java.lang.Class<? extends ServletEE> servletClass) 指定された名前とクラス型のサーブレットをこのサーブレットコンテキストに追加します。 |
ServletRegistration.DynamicEE | addServlet(java.lang.String servletName, ServletEE servlet) 指定されたサーブレットインスタンスを、指定された servletName のこの ServletContext に登録します。 |
ServletRegistration.DynamicEE | addServlet(java.lang.String servletName, java.lang.String className) 指定された名前とクラス名を持つサーブレットをこのサーブレットコンテキストに追加します。 |
<T extends FilterEE> | createFilter(java.lang.Class<T> c) 指定された Filter クラスをインスタンス化します。 |
<T extends java.util.EventListener> | createListener(java.lang.Class<T> c) 指定された EventListener クラスをインスタンス化します。 |
<T extends ServletEE> | createServlet(java.lang.Class<T> c) 指定されたサーブレットクラスをインスタンス化します。 |
void | declareRoles(java.lang.String... roleNames) isUserInRole を使用してテストされるロール名を宣言します。 |
java.lang.Object | getAttribute(java.lang.String name) 指定された名前のサーブレットコンテナー属性を返します。その名前の属性がない場合は null を返します。 |
java.util.Enumeration<java.lang.String> | getAttributeNames() この ServletContext 内で使用可能な属性名を含む Enumeration を返します。 |
java.lang.ClassLoader | getClassLoader() この ServletContext によって表される Web アプリケーションのクラスローダーを取得します。 |
ServletContextEE | getContext(java.lang.String contextPath) サーバー上の指定された URL に対応する ServletContext オブジェクトを返します。 |
java.lang.String | getContextPath() Web アプリケーションのコンテキストパスを返します。 |
java.util.Set<java.lang.String> | getDeclaredRoles() |
java.lang.String | getDefaultServletName() デフォルトの Servlet の名前を取得します。 |
java.util.Set<SessionTrackingModeEE> | getDefaultSessionTrackingModes() この ServletContext でデフォルトでサポートされているセッション追跡モードを取得します。 |
int | getEffectiveMajorVersion() この ServletContext で表されるアプリケーションのベースとなるサーブレット仕様のメジャーバージョンを取得します。 |
int | getEffectiveMinorVersion() この ServletContext で表されるアプリケーションのベースとなるサーブレット仕様のマイナーバージョンを取得します。 |
java.util.Set<SessionTrackingModeEE> | getEffectiveSessionTrackingModes() この ServletContext で有効なセッション追跡モードを取得します。 |
FilterRegistrationEE | getFilterRegistration(java.lang.String filterName) このメソッドは常に null を返します。 |
java.util.Map<java.lang.String,? extends FilterRegistrationEE> | getFilterRegistrations() このメソッドは常に空のマップを返します。 |
java.lang.String | getInitParameter(java.lang.String name) 名前付きコンテキスト全体の初期化パラメーターの値を含む String を返します。パラメーターが存在しない場合は null を返します。 |
java.util.Enumeration<java.lang.String> | getInitParameterNames() String オブジェクトの Enumeration としてコンテキストの初期化パラメーターの名前を返します。コンテキストに初期化パラメーターがない場合は空の Enumeration を返します。 |
JspConfigDescriptorEE | getJspConfigDescriptor() この ServletContext によって表される Web アプリケーションの web.xml および web-fragment.xml 記述子ファイルから集約された <jsp-config> 関連の構成を取得します。 |
int | getMajorVersion() このサーブレットコンテナーがサポートするサーブレット API のメジャーバージョンを返します。 |
java.lang.String | getMimeType(java.lang.String filePath) 指定されたファイルの MIME 型を返します。MIME 型が不明の場合は null を返します。 |
int | getMinorVersion() このサーブレットコンテナーがサポートするサーブレット API のマイナーバージョンを返します。 |
RequestDispatcherEE | getNamedDispatcher(java.lang.String path) 指定されたサーブレットのラッパーとして機能する RequestDispatcher EE オブジェクトを返します。 |
java.lang.String | getRealPath(java.lang.String path) 指定された仮想パスに対応する実際のパスを取得します。 |
java.lang.String | getRequestCharacterEncoding() この ServletContext でデフォルトでサポートされているリクエスト文字エンコーディングを取得します。 |
RequestDispatcherEE | getRequestDispatcher(java.lang.String path) 指定されたパスにあるリソースのラッパーとして機能する RequestDispatcher EE オブジェクトを返します。 |
java.net.URL | getResource(java.lang.String path) 指定されたパスにマップされているリソースへの URL を返します。 |
java.io.InputStream | getResourceAsStream(java.lang.String path) 名前付きパスにあるリソースを InputStream オブジェクトとして返します。 |
protected java.lang.String | getResourceLocation(java.lang.String path) 指定されたパスの完全なリソースの場所を作成し、この MockServletContext のリソースベースパスを先頭に追加します。 |
java.util.Set<java.lang.String> | getResourcePaths(java.lang.String path) 最長のサブパスが指定されたパス引数と一致する Web アプリケーション内のリソースへのすべてのパスのディレクトリのようなリストを返します。 |
java.lang.String | getResponseCharacterEncoding() この ServletContext でデフォルトでサポートされているレスポンス文字エンコードを取得します。 |
java.lang.String | getServerInfo() サーブレットが実行されているサーブレットコンテナーの名前とバージョンを返します。 |
ServletEE | getServlet(java.lang.String name) 使用すべきではありません。 |
java.lang.String | getServletContextName() display-name 要素によってこの Web アプリケーションのデプロイ記述子で指定された、この ServletContext に対応するこの Web アプリケーションの名前を返します。 |
java.util.Enumeration<java.lang.String> | getServletNames() 使用すべきではありません。 |
ServletRegistrationEE | getServletRegistration(java.lang.String servletName) このメソッドは常に null を返します。 |
java.util.Map<java.lang.String,? extends ServletRegistrationEE> | getServletRegistrations() このメソッドは常に空のマップを返します。 |
java.util.Enumeration<ServletEE> | getServlets() 使用すべきではありません。 |
SessionCookieConfigEE | getSessionCookieConfig() この ServletContext のために作成されたセッショントラッキング Cookie のさまざまなプロパティを構成するために使用される SessionCookieConfig EE オブジェクトを取得します。 |
int | getSessionTimeout() この ServletContext でデフォルトでサポートされているセッションタイムアウトを分単位で取得します。 |
java.lang.String | getVirtualServerName() ServletContext がデプロイされている論理ホストの構成名を返します。 |
void | log(java.lang.Exception ex, java.lang.String message) 使用すべきではありません。 |
void | log(java.lang.String message) 指定したメッセージをサーブレットログファイル(通常はイベントログ)に書き込みます。 |
void | log(java.lang.String message, java.lang.Throwable ex) 特定の Throwable 例外の説明メッセージとスタックトレースをサーブレットログファイルに書き込みます。 |
void | registerContext(java.lang.String contextPath, ServletContextEE context) |
void | registerNamedDispatcher(java.lang.String name, RequestDispatcherEE requestDispatcher) 名前付きサーブレットのラッパーとして機能する RequestDispatcher EE(通常は MockRequestDispatcher )を登録します。 |
void | removeAttribute(java.lang.String name) この ServletContext から指定された名前の属性を削除します。 |
void | setAttribute(java.lang.String name, java.lang.Object value) この ServletContext の特定の属性名にオブジェクトをバインドします。 |
void | setContextPath(java.lang.String contextPath) |
void | setDefaultServletName(java.lang.String defaultServletName) デフォルトの Servlet の名前を設定します。 |
void | setEffectiveMajorVersion(int effectiveMajorVersion) |
void | setEffectiveMinorVersion(int effectiveMinorVersion) |
boolean | setInitParameter(java.lang.String name, java.lang.String value) この ServletContext で、指定された名前と値でコンテキスト初期化パラメーターを設定します。 |
void | setMajorVersion(int majorVersion) |
void | setMinorVersion(int minorVersion) |
void | setRequestCharacterEncoding(java.lang.String requestCharacterEncoding) この ServletContext のリクエスト文字エンコードを設定します。 |
void | setResponseCharacterEncoding(java.lang.String responseCharacterEncoding) この ServletContext のレスポンス文字エンコードを設定します。 |
void | setServletContextName(java.lang.String servletContextName) |
void | setSessionTimeout(int sessionTimeout) この ServletContext のセッションタイムアウトを分単位で設定します。 |
void | setSessionTrackingModes(java.util.Set<SessionTrackingModeEE> sessionTrackingModes) この ServletContext で有効になるセッション追跡モードを設定します。 |
void | unregisterNamedDispatcher(java.lang.String name) 指定された名前で RequestDispatcher EE の登録を解除します。 |
public MockServletContext()
DefaultResourceLoader
(つまり、WAR ルートとしてのクラスパスルート)を使用せずに、新しい MockServletContext
を作成します。public MockServletContext(java.lang.String resourceBasePath)
DefaultResourceLoader
を使用して、新しい MockServletContext
を作成します。resourceBasePath
- WAR のルートディレクトリ (スラッシュで終わらないでください)DefaultResourceLoader
public MockServletContext(@Nullable ResourceLoader resourceLoader)
ResourceLoader
を使用し、ベースパスを使用せずに、新しい MockServletContext
を作成します。resourceLoader
- 使用する ResourceLoader (またはデフォルトの場合は null)public MockServletContext(java.lang.String resourceBasePath, @Nullable ResourceLoader resourceLoader)
MockServletContext
を作成します。'default' という名前のサーブレットの MockRequestDispatcher
を登録します。
resourceBasePath
- WAR のルートディレクトリ (スラッシュで終わらないでください)resourceLoader
- 使用する ResourceLoader (またはデフォルトの場合は null)registerNamedDispatcher(java.lang.String, javax.servlet.RequestDispatcher)
protected java.lang.String getResourceLocation(java.lang.String path)
MockServletContext
のリソースベースパスを先頭に追加します。path
- 指定されたパス public void setContextPath(java.lang.String contextPath)
public java.lang.String getContextPath()
javax.servlet.ServletContextEE
コンテキストパスは、リクエストのコンテキストを選択するために使用されるリクエスト URI の部分です。コンテキストパスは、常にリクエスト URI の最初に来ます。このコンテキストが Web サーバーの URL 名前空間のベースをルートとする「ルート」コンテキストである場合、このパスは空の文字列になります。それ以外の場合、コンテキストのルートがサーバーのネームスペースのルートにない場合、パスは / 文字で始まりますが、/ 文字で終わりません。
サーブレットコンテナーは、複数のコンテキストパスによってコンテキストと一致する可能性があります。このような場合、HttpServletRequest.getContextPath()
EE はリクエストで使用される実際のコンテキストパスを返しますが、このメソッドで返されるパスとは異なる場合があります。このメソッドによって返されるコンテキストパスは、アプリケーションのプライムまたは優先コンテキストパスと見なされる必要があります。
ServletContextEE
の getContextPathEE
HttpServletRequest.getContextPath()
EEpublic void registerContext(java.lang.String contextPath, ServletContextEE context)
public ServletContextEE getContext(java.lang.String contextPath)
javax.servlet.ServletContextEE
ServletContext
オブジェクトを返します。 このメソッドを使用すると、サーブレットはサーバーのさまざまな部分のコンテキストにアクセスし、必要に応じてコンテキストから RequestDispatcher
EE オブジェクトを取得できます。指定されたパスは / で始まる必要があり、サーバーのドキュメントルートを基準にして解釈され、このコンテナーでホストされている他の Web アプリケーションのコンテキストルートと照合されます。
セキュリティを重視する環境では、サーブレットコンテナーは特定の URL に対して null
を返す場合があります。
ServletContextEE
の getContextEE
contextPath
- コンテナー内の別の Web アプリケーションのコンテキストパスを指定する String
。ServletContext
オブジェクト。存在しないか、コンテナーがこのアクセスを制限したい場合は nullRequestDispatcher
EEpublic void setMajorVersion(int majorVersion)
public int getMajorVersion()
javax.servlet.ServletContextEE
ServletContextEE
の getMajorVersionEE
public void setMinorVersion(int minorVersion)
public int getMinorVersion()
javax.servlet.ServletContextEE
ServletContextEE
の getMinorVersionEE
public void setEffectiveMajorVersion(int effectiveMajorVersion)
public int getEffectiveMajorVersion()
javax.servlet.ServletContextEE
返される値は、ServletContext.getMajorVersion()
EE とは異なる場合があります。ServletContext.getMajorVersion()
EE は、サーブレットコンテナーでサポートされているサーブレット仕様のメジャーバージョンを返します。
ServletContextEE
の getEffectiveMajorVersionEE
public void setEffectiveMinorVersion(int effectiveMinorVersion)
public int getEffectiveMinorVersion()
javax.servlet.ServletContextEE
返される値は、ServletContext.getMinorVersion()
EE とは異なる場合があります。ServletContext.getMinorVersion()
EE は、サーブレットコンテナーでサポートされているサーブレット仕様のマイナーバージョンを返します。
ServletContextEE
の getEffectiveMinorVersionEE
@Nullable public java.lang.String getMimeType(java.lang.String filePath)
javax.servlet.ServletContextEE
null
を返します。MIME 型は、サーブレットコンテナーの構成によって決定され、Web アプリケーションデプロイ記述子で指定できます。一般的な MIME 型には text/html
と image/gif
が含まれます。ServletContextEE
の getMimeTypeEE
filePath
- ファイルの名前を指定する String
String
public void addMimeType(java.lang.String fileExtension, MediaType mimeType)
getMimeType(String)
が使用する MIME 型マッピングを追加します。fileExtension
- txt
、gif
などのファイル拡張子 mimeType
- MIME 型 @Nullable public java.util.Set<java.lang.String> getResourcePaths(java.lang.String path)
javax.servlet.ServletContextEE
サブディレクトリパスを示すパスは、 / で終わります。
返されるパスはすべて、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/"} を返します。ServletContextEE
の getResourcePathsEE
path
- リソースの照合に使用される部分パス。 / で始まる必要があります @Nullable public java.net.URL getResource(java.lang.String path) throws java.net.MalformedURLException
javax.servlet.ServletContextEE
パスは / で始まる必要があり、現在のコンテキストルート、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
とは異なります。このメソッドはクラスローダーを使用しません。
ServletContextEE
の getResourceEE
path
- リソースへのパスを指定する String
null
java.net.MalformedURLException
- パス名が正しい形式で指定されていない場合 @Nullable public java.io.InputStream getResourceAsStream(java.lang.String path)
javax.servlet.ServletContextEE
InputStream
オブジェクトとして返します。InputStream
のデータは、任意の型または長さにできます。getResource
で指定されたルールに従ってパスを指定する必要があります。指定したパスにリソースが存在しない場合、このメソッドは null
を返します。
getResource
メソッドを介して利用可能なコンテンツの長さやコンテンツ型などのメタ情報は、このメソッドを使用すると失われます。
サーブレットコンテナーは、リソースにアクセスするために必要な URL ハンドラーと URLConnection
オブジェクトを実装する必要があります。
このメソッドは、クラスローダーを使用する java.lang.Class.getResourceAsStream
とは異なります。このメソッドにより、サーブレットコンテナーは、クラスローダーを使用せずに、任意の場所からサーブレットがリソースを利用できるようになります。
ServletContextEE
の getResourceAsStreamEE
path
- リソースへのパスを指定する String
InputStream
がサーブレットに返され、指定されたパスにリソースが存在しない場合は null
public RequestDispatcherEE getRequestDispatcher(java.lang.String path)
javax.servlet.ServletContextEE
RequestDispatcher
EE オブジェクトを返します。RequestDispatcher
オブジェクトを使用して、リクエストをリソースに転送したり、レスポンスにリソースを含めることができます。リソースは動的でも静的でもかまいません。 パス名は / で始まる必要があり、現在のコンテキストルートを基準として解釈されます。getContext
を使用して、外部コンテキストのリソースの RequestDispatcher
を取得します。
ServletContext
が RequestDispatcher
を返すことができない場合、このメソッドは null
を返します。
ServletContextEE
の getRequestDispatcherEE
path
- リソースへのパス名を指定する String
RequestDispatcher
オブジェクト、または ServletContext
が RequestDispatcher
を返せない場合は null
RequestDispatcher
EE, ServletContext.getContext(java.lang.String)
EEpublic RequestDispatcherEE getNamedDispatcher(java.lang.String path)
javax.servlet.ServletContextEE
RequestDispatcher
EE オブジェクトを返します。 サーブレット(および JSP ページ)には、サーバー管理または Web アプリケーションデプロイ記述子を介して名前を付けることができます。サーブレットインスタンスは、ServletConfig.getServletName()
EE を使用してその名前を決定できます。
ServletContext
が何らかの理由で RequestDispatcher
を返すことができない場合、このメソッドは null
を返します。
ServletContextEE
の getNamedDispatcherEE
path
- ラップするサーブレットの名前を指定する String
RequestDispatcher
オブジェクト、または ServletContext
が RequestDispatcher
を返せない場合は null
RequestDispatcher
EE, ServletContext.getContext(java.lang.String)
EE, ServletConfig.getServletName()
EEpublic void registerNamedDispatcher(java.lang.String name, RequestDispatcherEE requestDispatcher)
RequestDispatcher
EE(通常は MockRequestDispatcher
)を登録します。name
- ラップされたサーブレットの名前 requestDispatcher
- 名前付きサーブレットをラップするディスパッチャー getNamedDispatcher(java.lang.String)
, unregisterNamedDispatcher(java.lang.String)
public void unregisterNamedDispatcher(java.lang.String name)
RequestDispatcher
EE の登録を解除します。name
- 登録を解除するディスパッチャーの名前 getNamedDispatcher(java.lang.String)
, registerNamedDispatcher(java.lang.String, javax.servlet.RequestDispatcher)
public java.lang.String getDefaultServletName()
Servlet
の名前を取得します。デフォルトは 'default' です。
public void setDefaultServletName(java.lang.String defaultServletName)
Servlet
の名前を設定します。 また、unregisters
は現在のデフォルトの RequestDispatcher
EE であり、replaces
は提供された defaultServletName
の MockRequestDispatcher
を使用します。
defaultServletName
- デフォルトの Servlet
の名前。null
または空にしない getDefaultServletName()
@Deprecated @Nullable public ServletEE getServlet(java.lang.String name)
ServletContextEE
の getServletEE
name
- サーブレット名 javax.servlet.Servlet Servlet
@Deprecated public java.util.Enumeration<ServletEE> getServlets()
ServletContextEE
の getServletsEE
javax.servlet.Servlet Servlet
の Enumeration
@Deprecated public java.util.Enumeration<java.lang.String> getServletNames()
ServletContextEE
の getServletNamesEE
javax.servlet.Servlet Servlet
名の Enumeration
public void log(java.lang.String message)
javax.servlet.ServletContextEE
ServletContextEE
の logEE
message
- ログファイルに書き込まれるメッセージを指定する String
@Deprecated public void log(java.lang.Exception ex, java.lang.String message)
ServletContextEE
の logEE
ex
- Exception
エラー message
- 例外を記述する String
public void log(java.lang.String message, java.lang.Throwable ex)
javax.servlet.ServletContextEE
Throwable
例外の説明メッセージとスタックトレースをサーブレットログファイルに書き込みます。サーブレットログファイルの名前と型は、サーブレットコンテナー(通常はイベントログ)に固有です。ServletContextEE
の logEE
message
- エラーまたは例外を記述する String
ex
- Throwable
エラーまたは例外 @Nullable public java.lang.String getRealPath(java.lang.String path)
javax.servlet.ServletContextEE
例: path が /index.html と等しい場合、このメソッドは、 http://<host>:<port>/<contextPath>/index.html 形式のリクエストがマップされるサーバーのファイルシステム上の絶対ファイルパスを返します。ここで、< tt><contextPath> は、この ServletContext のコンテキストパスに対応します。
返される実際のパスは、適切なパス区切り文字を含め、サーブレットコンテナーが実行されているコンピューターとオペレーティングシステムに適した形式になります。
アプリケーションの /WEB-INF/lib ディレクトリにバンドルされている JAR ファイルの /META-INF/resources ディレクトリ内のリソースは、コンテナーが含む JAR ファイルから解凍した場合にのみ考慮する必要があります。その場合、解凍された場所へのパスを返す必要があります。
このメソッドは、サーブレットコンテナーが指定された仮想パスを実際のパスに変換できない場合に null
を返します。
ServletContextEE
の getRealPathEE
path
- 実際のパスに変換される仮想パス public java.lang.String getServerInfo()
javax.servlet.ServletContextEE
返される文字列の形式は 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)
のように、括弧で囲まれたプライマリ文字列の後に他のオプション情報を返す場合があります。
ServletContextEE
の getServerInfoEE
String
public java.lang.String getInitParameter(java.lang.String name)
javax.servlet.ServletContextEE
String
を返します。パラメーターが存在しない場合は null
を返します。このメソッドは、利用可能な構成情報を Web アプリケーション全体にとって有用にすることができます。例: Web マスターのメールアドレスまたは重要なデータを保持するシステムの名前を提供できます。
ServletContextEE
の getInitParameterEE
name
- 値がリクエストされるパラメーターの名前を含む String
String
、またはコンテキストの初期化パラメーターが存在しない場合は null
ServletConfig.getInitParameter(java.lang.String)
EEpublic java.util.Enumeration<java.lang.String> getInitParameterNames()
javax.servlet.ServletContextEE
String
オブジェクトの Enumeration
としてコンテキストの初期化パラメーターの名前を返します。コンテキストに初期化パラメーターがない場合は空の Enumeration
を返します。ServletContextEE
の getInitParameterNamesEE
String
オブジェクトの Enumeration
ServletConfig.getInitParameter(java.lang.String)
EEpublic boolean setInitParameter(java.lang.String name, java.lang.String value)
javax.servlet.ServletContextEE
ServletContextEE
の setInitParameterEE
name
- 設定するコンテキスト初期化パラメーターの名前 value
- 設定するコンテキスト初期化パラメーターの値 public void addInitParameter(java.lang.String name, java.lang.String value)
@Nullable public java.lang.Object getAttribute(java.lang.String name)
javax.servlet.ServletContextEE
null
を返します。 属性により、サーブレットコンテナーは、このインターフェースによってまだ提供されていない追加情報をサーブレットに提供できます。その属性については、サーバーのドキュメントを参照してください。サポートされる属性のリストは、getAttributeNames
を使用して取得できます。
属性は、java.lang.Object
またはサブクラスとして返されます。
属性名は、パッケージ名と同じ規則に従う必要があります。Java Servlet API 仕様では、java.*
、javax.*
、sun.*
に一致する名前が予約されています。
ServletContextEE
の getAttributeEE
name
- 属性の名前を指定する String
Object
、または指定された名前に一致する属性が存在しない場合は null
ServletContext.getAttributeNames()
EEpublic java.util.Enumeration<java.lang.String> getAttributeNames()
javax.servlet.ServletContextEE
Enumeration
を返します。 属性の値を取得するには、属性名とともに ServletContext.getAttribute(java.lang.String)
EE メソッドを使用します。
ServletContextEE
の getAttributeNamesEE
Enumeration
ServletContext.getAttribute(java.lang.String)
EEpublic void setAttribute(java.lang.String name, @Nullable java.lang.Object value)
javax.servlet.ServletContextEE
リスナーが ServletContext
で構成されている場合、コンテナーはそれに応じて通知します。
null 値が渡された場合、結果は removeAttribute()
を呼び出した場合と同じです。
属性名は、パッケージ名と同じ規則に従う必要があります。Java Servlet API 仕様では、java.*
、javax.*
、sun.*
に一致する名前が予約されています。
ServletContextEE
の setAttributeEE
name
- 属性の名前を指定する String
value
- バインドされる属性を表す Object
public void removeAttribute(java.lang.String name)
javax.servlet.ServletContextEE
ServletContext.getAttribute(java.lang.String)
EE への後続の呼び出しは null
を返します。 リスナーが ServletContext
で構成されている場合、コンテナーはそれに応じて通知します。
ServletContextEE
の removeAttributeEE
name
- 削除する属性の名前を指定する String
public void setServletContextName(java.lang.String servletContextName)
public java.lang.String getServletContextName()
javax.servlet.ServletContextEE
ServletContextEE
の getServletContextNameEE
@Nullable public java.lang.ClassLoader getClassLoader()
javax.servlet.ServletContextEE
セキュリティマネージャーが存在し、呼び出し元のクラスローダーがリクエストされたクラスローダーと同じではない場合、またはリクエストされたクラスローダーの祖先でない場合、リクエストされたクラスローダーへのアクセスを許可するかどうかを確認するために、セキュリティマネージャーの checkPermission
メソッドが RuntimePermission("getClassLoader")
許可で呼び出されます。
ServletContextEE
の getClassLoaderEE
public void declareRoles(java.lang.String... roleNames)
javax.servlet.ServletContextEE
isUserInRole
を使用してテストされるロール名を宣言します。ServletRegistration
EE インターフェースの setServletSecurity
EE または setRunAsRole
EE メソッド内での使用の結果として暗黙的に宣言されるロールは、宣言する必要はありません。
ServletContextEE
の declareRolesEE
roleNames
- 宣言されているロール名 public java.util.Set<java.lang.String> getDeclaredRoles()
public void setSessionTrackingModes(java.util.Set<SessionTrackingModeEE> sessionTrackingModes) throws java.lang.IllegalStateException, java.lang.IllegalArgumentException
javax.servlet.ServletContextEE
指定された sessionTrackingModes は、この ServletContext でこのメソッドを以前に呼び出して設定されたセッション追跡モードを置き換えます。
ServletContextEE
の setSessionTrackingModesEE
sessionTrackingModes
- この ServletContext に対して有効になるセッション追跡モードのセット java.lang.IllegalStateException
- この ServletContext がすでに初期化されている場合 java.lang.IllegalArgumentException
- sessionTrackingModes が SessionTrackingMode.SSL と SessionTrackingMode.SSL 以外のセッション追跡モードの組み合わせを指定している場合、または sessionTrackingModes がサーブレットコンテナーでサポートされていないセッション追跡モードを指定している場合 public java.util.Set<SessionTrackingModeEE> getDefaultSessionTrackingModes()
javax.servlet.ServletContextEE
返されたセットは ServletContext
オブジェクトによって支援されないため、返されたセットの変更は ServletContext
オブジェクトに反映されず、その逆も同様です。
ServletContextEE
の getDefaultSessionTrackingModesEE
public java.util.Set<SessionTrackingModeEE> getEffectiveSessionTrackingModes()
javax.servlet.ServletContextEE
有効なセッション追跡モードは、setSessionTrackingModes
EE に提供されるモードです。
返されたセットは ServletContext
オブジェクトによって支援されないため、返されたセットの変更は ServletContext
オブジェクトに反映されず、その逆も同様です。
ServletContextEE
の getEffectiveSessionTrackingModesEE
public SessionCookieConfigEE getSessionCookieConfig()
javax.servlet.ServletContextEE
SessionCookieConfig
EE オブジェクトを取得します。このメソッドを繰り返し呼び出すと、同じ SessionCookieConfig インスタンスが返されます。
ServletContextEE
の getSessionCookieConfigEE
public void setSessionTimeout(int sessionTimeout)
javax.servlet.ServletContextEE
ServletContextEE
の setSessionTimeoutEE
sessionTimeout
- 分単位のセッションタイムアウト public int getSessionTimeout()
javax.servlet.ServletContextEE
ServletContextEE
の getSessionTimeoutEE
public void setRequestCharacterEncoding(@Nullable java.lang.String requestCharacterEncoding)
javax.servlet.ServletContextEE
ServletContextEE
の setRequestCharacterEncodingEE
requestCharacterEncoding
- リクエスト文字エンコーディング @Nullable public java.lang.String getRequestCharacterEncoding()
javax.servlet.ServletContextEE
ServletContextEE
の getRequestCharacterEncodingEE
public void setResponseCharacterEncoding(@Nullable java.lang.String responseCharacterEncoding)
javax.servlet.ServletContextEE
ServletContextEE
の setResponseCharacterEncodingEE
responseCharacterEncoding
- レスポンス文字エンコード @Nullable public java.lang.String getResponseCharacterEncoding()
javax.servlet.ServletContextEE
ServletContextEE
の getResponseCharacterEncodingEE
public JspConfigDescriptorEE getJspConfigDescriptor()
javax.servlet.ServletContextEE
web.xml
および web-fragment.xml
記述子ファイルから集約された <jsp-config>
関連の構成を取得します。ServletContextEE
の getJspConfigDescriptorEE
web.xml
および web-fragment.xml
記述子ファイルから集約された <jsp-config>
関連の構成、またはそのような構成が存在しない場合は nullJspConfigDescriptor
EEpublic ServletRegistration.DynamicEE addJspFile(java.lang.String servletName, java.lang.String jspFile)
javax.servlet.ServletContextEE
登録されたサーブレットは、返された ServletRegistration
EE オブジェクトを介してさらに構成できます。
この ServletContext に、指定された servletName を持つサーブレットの準備 ServletRegistration がすでに含まれている場合は、(指定された jspFile を割り当てることによって) 完了し、返されます。
ServletContextEE
の addJspFileEE
servletName
- サーブレットの名前 jspFile
- "/" で始まる Web アプリケーション内の JSP ファイルへのフルパス。public ServletRegistration.DynamicEE addServlet(java.lang.String servletName, java.lang.String className)
javax.servlet.ServletContextEE
登録されたサーブレットは、返された ServletRegistration
EE オブジェクトを介してさらに構成できます。
指定された className は、この ServletContext によって表されるアプリケーションに関連付けられたクラスローダーを使用してロードされます。
この ServletContext に、指定された servletName を持つサーブレットの準備 ServletRegistration がすでに含まれている場合は、(指定された className を割り当てることによって) 完了し、返されます。
このメソッドは、指定された className を持つクラスを、ServletSecurity
EE、MultipartConfig
EE、javax.annotation.security.RunAs、および javax.annotation.security.DeclareRoles アノテーションについてイントロスペクトします。さらに、指定された className を持つクラスが Managed Bean を表す場合、このメソッドはリソースインジェクションをサポートします。Managed Bean とリソースインジェクションの詳細については、Java EE プラットフォームと JSR 299 仕様を参照してください。
ServletContextEE
の addServletEE
servletName
- サーブレットの名前 className
- サーブレットの完全修飾クラス名 public ServletRegistration.DynamicEE addServlet(java.lang.String servletName, ServletEE servlet)
javax.servlet.ServletContextEE
登録されたサーブレットは、返された ServletRegistration
EE オブジェクトを介してさらに構成できます。
この ServletContext に、指定された servletName を持つサーブレットの準備 ServletRegistration がすでに含まれている場合は、(指定されたサーブレットインスタンスのクラス名を割り当てることによって) 完了して返されます。
ServletContextEE
の addServletEE
servletName
- サーブレットの名前 servlet
- 登録するサーブレットインスタンス public ServletRegistration.DynamicEE addServlet(java.lang.String servletName, java.lang.Class<? extends ServletEE> servletClass)
javax.servlet.ServletContextEE
登録されたサーブレットは、返された ServletRegistration
EE オブジェクトを介してさらに構成できます。
この ServletContext に、指定された servletName を持つサーブレットの準備 ServletRegistration がすでに含まれている場合は、(指定された servletClass の名前を割り当てることによって) 完了して返されます。
このメソッドは、指定された servletClass から ServletSecurity
EE、MultipartConfig
EE、javax.annotation.security.RunAs、および javax.annotation.security.DeclareRoles アノテーションをイントロスペクトします。さらに、指定された servletClass が Managed Bean を表す場合、このメソッドはリソースインジェクションをサポートします。Managed Bean とリソースインジェクションの詳細については、Java EE プラットフォームと JSR 299 仕様を参照してください。
ServletContextEE
の addServletEE
servletName
- サーブレットの名前 servletClass
- サーブレットのインスタンス化元のクラスオブジェクト public <T extends ServletEE> T createServlet(java.lang.Class<T> c) throws ServletExceptionEE
javax.servlet.ServletContextEE
返されたサーブレットインスタンスは、ServletContext.addServlet(String,Servlet)
EE の呼び出しによってこの ServletContext に登録される前にさらにカスタマイズできます。
指定された Servlet クラスは、インスタンス化に使用されるゼロ引数コンストラクターを定義する必要があります。
このメソッドは、指定された clazz のアノテーション ServletSecurity
EE、MultipartConfig
EE、javax.annotation.security.RunAs、および javax.annotation.security.DeclareRoles をイントロスペクトします。さらに、このメソッドは、指定された clazz がマネージド Bean を表す場合、リソースインジェクションをサポートします。マネージド Bean とリソースインジェクションの詳細については、Java EE プラットフォームと JSR 299 仕様を参照してください。
ServletContextEE
の createServletEE
T
- 作成するサーブレットのクラス c
- インスタンス化するサーブレットクラス ServletExceptionEE
- 指定された clazz のインスタンス化に失敗した場合 @Nullable public ServletRegistrationEE getServletRegistration(java.lang.String servletName)
null
を返します。ServletContextEE
の getServletRegistrationEE
servletName
- サーブレットの名前 ServletContext.getServletRegistration(java.lang.String)
EEpublic java.util.Map<java.lang.String,? extends ServletRegistrationEE> getServletRegistrations()
ServletContextEE
の getServletRegistrationsEE
ServletContext.getServletRegistrations()
EEpublic FilterRegistration.DynamicEE addFilter(java.lang.String filterName, java.lang.String className)
javax.servlet.ServletContextEE
登録されたフィルターは、返された FilterRegistration
EE オブジェクトを介してさらに構成できます。
指定された className は、この ServletContext によって表されるアプリケーションに関連付けられたクラスローダーを使用してロードされます。
この ServletContext に、指定された filterName を持つフィルターの準備 FilterRegistration がすでに含まれている場合は、(指定された className を割り当てることによって) 完了して返されます。
このメソッドは、指定された className を持つクラスが Managed Bean を表す場合にリソースインジェクションをサポートします。Managed Bean とリソースインジェクションの詳細については、Java EE プラットフォームと JSR 299 仕様を参照してください。
ServletContextEE
の addFilterEE
filterName
- フィルターの名前 className
- フィルターの完全修飾クラス名 public FilterRegistration.DynamicEE addFilter(java.lang.String filterName, FilterEE filter)
javax.servlet.ServletContextEE
登録されたフィルターは、返された FilterRegistration
EE オブジェクトを介してさらに構成できます。
この ServletContext に、指定された filterName を持つフィルターの準備 FilterRegistration がすでに含まれている場合は、(指定されたフィルターインスタンスのクラス名を割り当てることによって) 完了して返されます。
ServletContextEE
の addFilterEE
filterName
- フィルターの名前 filter
- 登録するフィルターインスタンス public FilterRegistration.DynamicEE addFilter(java.lang.String filterName, java.lang.Class<? extends FilterEE> filterClass)
javax.servlet.ServletContextEE
登録されたフィルターは、返された FilterRegistration
EE オブジェクトを介してさらに構成できます。
この ServletContext に、指定された filterName を持つフィルターの準備 FilterRegistration がすでに含まれている場合は、(指定された filterClass の名前を割り当てることによって) 完了して返されます。
このメソッドは、指定された filterClass が Managed Bean を表す場合にリソースインジェクションをサポートします。Managed Bean とリソースインジェクションの詳細については、Java EE プラットフォームと JSR 299 仕様を参照してください。
ServletContextEE
の addFilterEE
filterName
- フィルターの名前 filterClass
- フィルターがインスタンス化されるクラスオブジェクト public <T extends FilterEE> T createFilter(java.lang.Class<T> c) throws ServletExceptionEE
javax.servlet.ServletContextEE
返された Filter インスタンスは、ServletContext.addFilter(String,Filter)
EE への呼び出しを介してこの ServletContext に登録される前にさらにカスタマイズできます。
指定された Filter クラスは、インスタンス化に使用されるゼロ引数コンストラクターを定義する必要があります。
このメソッドは、指定された clazz が Managed Bean を表す場合、リソース注入をサポートします。マネージド Bean およびリソースインジェクションの詳細については、Java EE プラットフォームおよび JSR 299 仕様を参照してください。
ServletContextEE
の createFilterEE
T
- 作成するフィルターのクラス c
- インスタンス化する Filter クラス ServletExceptionEE
- 指定された clazz のインスタンス化に失敗した場合 @Nullable public FilterRegistrationEE getFilterRegistration(java.lang.String filterName)
null
を返します。ServletContextEE
の getFilterRegistrationEE
filterName
- フィルターの名前 ServletContext.getFilterRegistration(java.lang.String)
EEpublic java.util.Map<java.lang.String,? extends FilterRegistrationEE> getFilterRegistrations()
ServletContextEE
の getFilterRegistrationsEE
ServletContext.getFilterRegistrations()
EEpublic void addListener(java.lang.Class<? extends java.util.EventListener> listenerClass)
javax.servlet.ServletContextEE
指定された listenerClass は、次のインターフェースの 1 つ以上を実装する必要があります。
ServletContextAttributeListener
EEServletRequestListener
EEServletRequestAttributeListener
EEHttpSessionAttributeListener
EEHttpSessionIdListener
EEHttpSessionListener
EE この ServletContext が ServletContainerInitializer.onStartup(java.util.Set<java.lang.Class<?>>, javax.servlet.ServletContext)
EE に渡された場合、指定された listenerClass は、上記のインターフェースに加えて、ServletContextListener
EE も実装する可能性があります。
指定された listenerClass が、呼び出し順序が宣言順序に対応するリスナーインターフェースを実装している場合 (つまり、ServletRequestListener
EE、ServletContextListener
EE、または HttpSessionListener
EE を実装している場合)、新しいリスナーはそのインターフェースのリスナーの順序付きリストの末尾に追加されます。
このメソッドは、指定された listenerClass が Managed Bean を表す場合にリソースインジェクションをサポートします。Managed Bean とリソースインジェクションの詳細については、Java EE プラットフォームと JSR 299 仕様を参照してください。
ServletContextEE
の addListenerEE
listenerClass
- インスタンス化されるリスナークラス public void addListener(java.lang.String className)
javax.servlet.ServletContextEE
指定された名前のクラスは、この ServletContext によって表されるアプリケーションに関連付けられたクラスローダーを使用してロードされ、次のインターフェースの 1 つ以上を実装する必要があります。
ServletContextAttributeListener
EEServletRequestListener
EEServletRequestAttributeListener
EEHttpSessionAttributeListener
EEHttpSessionIdListener
EEHttpSessionListener
EE この ServletContext が ServletContainerInitializer.onStartup(java.util.Set<java.lang.Class<?>>, javax.servlet.ServletContext)
EE に渡された場合、指定された名前のクラスは、上記のインターフェースに加えて ServletContextListener
EE も実装できます。
このメソッド呼び出しの一部として、コンテナーは、指定されたクラス名でクラスをロードして、必要なインターフェースの 1 つを確実に実装する必要があります。
指定された名前を持つクラスが、呼び出し順序が宣言順序に対応するリスナーインターフェースを実装する場合(つまり、ServletRequestListener
EE、ServletContextListener
EE、HttpSessionListener
EE を実装する場合)、新しいリスナーは、リスナーの順序付きリストの最後に追加されます。そのインターフェース。
このメソッドは、指定された className を持つクラスが Managed Bean を表す場合にリソースインジェクションをサポートします。Managed Bean とリソースインジェクションの詳細については、Java EE プラットフォームと JSR 299 仕様を参照してください。
ServletContextEE
の addListenerEE
className
- リスナーの完全修飾クラス名 public <T extends java.util.EventListener> void addListener(T t)
javax.servlet.ServletContextEE
指定されたリスナーは、以下の 1 つ以上のインターフェースのインスタンスでなければなりません。
ServletContextAttributeListener
EEServletRequestListener
EEServletRequestAttributeListener
EEHttpSessionAttributeListener
EEHttpSessionIdListener
EEHttpSessionListener
EE この ServletContext が ServletContainerInitializer.onStartup(java.util.Set<java.lang.Class<?>>, javax.servlet.ServletContext)
EE に渡された場合、指定されたリスナーは、上記のインターフェースに加えて、ServletContextListener
EE のインスタンスにもなります。
指定されたリスナーが、その呼び出し順が宣言順と一致するリスナーインターフェースのインスタンスである場合(つまり、それが ServletRequestListener
EE, ServletContextListener
EE, HttpSessionListener
EE のインスタンスである場合)、そのリスナーは、そのインターフェースのリスナーの順序付けられたリストの最後に追加されます。
ServletContextEE
の addListenerEE
T
- 追加する EventListener のクラス t
- 追加するリスナー public <T extends java.util.EventListener> T createListener(java.lang.Class<T> c) throws ServletExceptionEE
javax.servlet.ServletContextEE
指定された EventListener クラスは、ServletContextListener
EE、ServletContextAttributeListener
EE、ServletRequestListener
EE、ServletRequestAttributeListener
EE、HttpSessionAttributeListener
EE、HttpSessionIdListener
EE、HttpSessionListener
EE インターフェースの少なくとも 1 つを実装する必要があります。
返された EventListener インスタンスは、ServletContext.addListener(EventListener)
EE の呼び出しを介してこの ServletContext に登録される前にさらにカスタマイズできます。
指定された EventListener クラスは、インスタンス化に使用されるゼロ引数コンストラクターを定義する必要があります。
このメソッドは、指定された clazz が Managed Bean を表す場合、リソース注入をサポートします。マネージド Bean およびリソースインジェクションの詳細については、Java EE プラットフォームおよび JSR 299 仕様を参照してください。
ServletContextEE
の createListenerEE
T
- 作成する EventListener のクラス c
- インスタンス化する EventListener クラス ServletExceptionEE
- 指定された clazz のインスタンス化に失敗した場合 public java.lang.String getVirtualServerName()
javax.servlet.ServletContextEE
ServletContextEE
の getVirtualServerNameEE
String
。