|
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||
サーブレットがサーブレットコンテナと通信する際に使用するメソッド一式を定義します。たとえば MIME タイプのファイルの取得、要求の振り分け、ログファイルへの書き込みといったメソッドです。
Java 仮想マシン単位で見た場合、「Web アプリケーション」 1 つに、1 つのコンテキストが対応します。(「Web アプリケーション」とは、/catalog などの、サーバの URL 名前空間の特定のサブセットに置かれた、サーブレットとコンテンツの集まりです。Web アプリケーションは .war ファイルによってインストールすることも可能です)
配備記述子に "distributed" とマークされた Web アプリケーションの場合、各仮想マシンに対してそれぞれ 1 つのコンテキストインスタンスがあります。このような場合は、グローバル情報を共有する場所としてコンテキストを使用することはできません。その情報が真の意味でグローバルにはならないからです。代わりに、データベースのような外部リソースを使用して下さい。
ServletContext オブジェクトは、サーブレットの初期化時に Web サーバがサーブレットに提供する ServletConfig オブジェクト内に含まれています。
Servlet.getServletConfig(),
ServletConfig.getServletContext()| メソッドの概要 | |
java.lang.Object |
getAttribute(java.lang.String name)
指定された名前に対応するサーブレットコンテナの属性を返します。 |
java.util.Enumeration |
getAttributeNames()
このサーブレットのコンテキスト内で利用可能な属性名が格納された Enumeration を返します。 |
ServletContext |
getContext(java.lang.String uripath)
サーバ上で指定された URL に対応する ServletContext オブジェクトを返します。
|
java.lang.String |
getInitParameter(java.lang.String name)
指定された初期化パラメータについて、その値が格納された String を返します。 |
java.util.Enumeration |
getInitParameterNames()
コンテキストの初期化パラメータの名前を、 String オブジェクトの Enumeration として返します。 |
int |
getMajorVersion()
このサーブレットコンテナがサポートする Java Servlet API のメジャーバージョン番号を返します。 |
java.lang.String |
getMimeType(java.lang.String file)
引数で指定されたファイルの MIME タイプを返します。 |
int |
getMinorVersion()
このサーブレットコンテナがサポートする Servlet API のマイナーバージョン番号を返します。 |
RequestDispatcher |
getNamedDispatcher(java.lang.String name)
指定されたサーブレットのラッパーとして機能する RequestDispatcher オブジェクトを返します。
|
java.lang.String |
getRealPath(java.lang.String path)
指定された仮想パスに対応する実際のパスを格納した String を返します。 |
RequestDispatcher |
getRequestDispatcher(java.lang.String path)
指定されたパスにあるリソースのラッパーとして機能する RequestDispatcher オブジェクトを返します。 |
java.net.URL |
getResource(java.lang.String path)
指定されたパスにマップされたリソースへの URL を返します。 |
java.io.InputStream |
getResourceAsStream(java.lang.String path)
指定されたパスにあるリソースを InputStream オブジェクトとして返します。
|
java.util.Set |
getResourcePaths(java.lang.String path)
引数で指定されたパスに一致するものが Web アプリケーション内にあると、そのサブパス以下にあるすべてのリソースのパス名をディレクトリに似た形式のリストにして返します。 |
java.lang.String |
getServerInfo()
サーブレットが実行されているサーブレットコンテナの名前とバージョンを返します。 |
Servlet |
getServlet(java.lang.String name)
推奨されていません。 Java Servlet API 2.1 以降では、直接的な置き換えメソッドはありません。 このメソッドは当初、 このメソッドの代わりに、サーブレットは |
java.lang.String |
getServletContextName()
この ServletContext に対応するこの Web アプリケーションの名前を返します。 |
java.util.Enumeration |
getServletNames()
推奨されていません。 Java Servlet API 2.1 以降では、直接的な置き換えメソッドはありません。 このメソッドは当初、このコンテキストにとって既知の、すべてのサーブレット名の |
java.util.Enumeration |
getServlets()
推奨されていません。 Java Servlet API 2.0 以降では、直接的な置き換えメソッドはありません。 このメソッドは当初、このサーブレットコンテキストにとって既知の、すべてのサーブレットの |
void |
log(java.lang.Exception exception,
java.lang.String msg)
推奨されていません。 Java Servlet API 2.1 以降では、代わりに log(String message, Throwable throwable) を使用します。
このメッセージは当初、例外のスタックトレースと説明用のエラーメッセージを、サーブレットのログファイルへ書き出すために定義されました。 |
void |
log(java.lang.String msg)
指定されたメッセージを、サーブレットのログファイル、通常はイベントログに書き出します。 |
void |
log(java.lang.String message,
java.lang.Throwable throwable)
該当の Throwable 例外を説明するメッセージとスタックトレースを、サーブレットのログファイルに書き出します。 |
void |
removeAttribute(java.lang.String name)
指定された名前の属性をサーブレットコンテキストから削除します。 |
void |
setAttribute(java.lang.String name,
java.lang.Object object)
オブジェクトを、このサーブレットのコンテキスト内にある属性名にバインドします。 |
| メソッドの詳細 |
public ServletContext getContext(java.lang.String uripath)
ServletContext オブジェクトを返します。
このメソッドによって、サーブレットはコンテキストを通じサーバのさまざまな資源にアクセスできるようになります。また、必要に応じてコンテキストから RequestDispatcher オブジェクトを取得することもできます。指定されたパスは "/" で始まる必要があり、サーバのドキュメントルートに対する相対パスと解釈され、このコンテナをホストとするほかの Web アプリケーションのコンテキストのルートに照合されます。
セキュリティを意識した環境では、指定された URL に対して、サーブレットコンテナが null を返す場合があります。
uripath - コンテナ内の別の Web アプリケーションのコンテキストのパスを指定する StringServletContext オブジェクト。または、何も存在しない場合か、コンテナがこのアクセスを制限したい場合は nullRequestDispatcherpublic int getMajorVersion()
public int getMinorVersion()
public java.lang.String getMimeType(java.lang.String file)
null を返します。MIME タイプはサーブレットコンテナの設定に基づき判断されますが、Web アプリケーションの配備記述子内で指定することもできます。良く使われる MIME タイプには、"text/html" か "image/gif" があります。file - ファイルの名前を指定する StringStringpublic java.util.Set getResourcePaths(java.lang.String path)
path - リソースとの照合に使用するパスの一部 '/' で始まっている必要がある。
public java.net.URL getResource(java.lang.String path)
throws java.net.MalformedURLException
このメソッドによって、サーブレットコンテナは、任意のソースからリソースをサーブレットが利用できるようにします。リソースは、ローカルまたはリモートのファイルシステムにあっても、データベースまたは .war ファイル内にあってもかまいません。
サーブレットコンテナは、リソースにアクセスするのに必要な URL ハンドラおよび URLConnection オブジェクトを実装している必要があります。
指定されたパス名にマップされたリソースが存在しない場合、このメソッドは null を返します。
コンテナによっては、URL クラスのメソッドを使用して、このメソッドによって返された URL へ出力できるようにするものもあります。
リソースのコンテンツが直接返されるので、.jsp ページを要求すると JSP のソースコードが返されることに注意してください。実行結果をインクルードする場合は、代わりに RequestDispatcher を使用します。
このメソッドは、クラスローダに基づいてリソースを検索する java.lang.Class.getResource とは異なる用途に使われます。このメソッドでは、クラスローダを使用しません。
path - リソースへのパスを指定する Stringnulljava.net.MalformedURLException - 正しい形式でパス名が指定されなかった場合public java.io.InputStream getResourceAsStream(java.lang.String path)
InputStream オブジェクトとして返します。
InputStream 内には、さまざまな型や長さを持つデータが格納されます。パスは、getResource に定められた規則に従って指定する必要があります。指定されたパスにリソースがない場合、このメソッドは null を返します。
getResource メソッドでは、コンテンツの長さやタイプなどのメタ情報が得られますが、このメソッドを使用するとそれらの情報は失われます。
サーブレットコンテナは、リソースにアクセスするのに必要な URL ハンドラおよび URLConnection オブジェクトを実装している必要があります。
このメソッドは、クラスローダを使用する java.lang.Class.getResourceAsStream とは異なります。このメソッドによって、サーブレットコンテナは、クラスローダを使用せずに、どのような場所からでもサーブレットがリソースを使用できるようになります。
path - リソースへのパスを指定する StringInputStream。指定されたパスにリソースがない場合は、nullpublic RequestDispatcher getRequestDispatcher(java.lang.String path)
RequestDispatcher オブジェクトを返します。RequestDispatcher オブジェクトは、要求をリソースへ転送するため、または応答内にリソースをインクルードするために使用できます。リソースは、動的または静的のどちらでもかまいません。
パス名は "/" で始める必要があり、現在のコンテキストルートに対する相対パスとして解釈されます。外部コンテキストのリソースを使用するにはgetContext を使用して、RequestDispatcher を取得してください。ServletContext が RequestDispatcher を返すことができない場合、このメソッドは null を返します。
path - リソースへのパス名を指定する StringRequestDispatcher オブジェクトRequestDispatcher,
getContext(java.lang.String)public RequestDispatcher getNamedDispatcher(java.lang.String name)
RequestDispatcher オブジェクトを返します。
サーブレットおよび JSP ページは、サーバ設定ツールまたは Web アプリケーションの配備記述子によって名前を付けることができます。サーブレットインスタンスは、ServletConfig.getServletName() を使用して名前を取り出すことができます。
なんらかの理由で ServletContext が RequestDispatcher を返すことができない場合、このメソッドは null を返します。
name - ラップするサーブレットの名前を指定する StringRequestDispatcher オブジェクトRequestDispatcher,
getContext(java.lang.String),
ServletConfig.getServletName()
public Servlet getServlet(java.lang.String name)
throws ServletException
このメソッドは当初、ServletContext からサーブレットを取得するために定義されました。このバージョンでは、このメソッドは常に null を返し、バイナリの互換性を保つためにのみ残されています。このメソッドは、Java Servlet API の将来のバージョンでは完全に削除されます。
このメソッドの代わりに、サーブレットは ServletContext クラスを使用して情報を共有することができます。また、一般の非サーブレットクラスでメソッドを呼び出して、共有ビジネスロジックを実行することができます。
public java.util.Enumeration getServlets()
このメソッドは当初、このサーブレットコンテキストにとって既知の、すべてのサーブレットの Enumeration を返すために定義されました。このバージョンでは、このメソッドは常に空の Enumeration を返し、バイナリの互換性を保つためにのみ残されています。このメソッドは、Java Servlet API の将来のバージョンでは完全に削除されます。
public java.util.Enumeration getServletNames()
このメソッドは当初、このコンテキストにとって既知の、すべてのサーブレット名の Enumeration を返すために定義されました。このバージョンでは、このメソッドは常に空の Enumeration を返し、バイナリの互換性を保つためにのみ残されています。このメソッドは、Java Servlet API の将来のバージョンでは完全に削除されます。
public void log(java.lang.String msg)
msg - ログファイルへ書き出すメッセージを指定する String
public void log(java.lang.Exception exception,
java.lang.String msg)
log(String message, Throwable throwable) を使用します。
このメッセージは当初、例外のスタックトレースと説明用のエラーメッセージを、サーブレットのログファイルへ書き出すために定義されました。
public void log(java.lang.String message,
java.lang.Throwable throwable)
Throwable 例外を説明するメッセージとスタックトレースを、サーブレットのログファイルに書き出します。サーブレットログファイルの名前とタイプはサーブレットコンテナによって異なり、通常はイベントログになります。message - エラーまたは例外を説明する Stringthrowable - Throwable エラーまたは例外public java.lang.String getRealPath(java.lang.String path)
String を返します。たとえば、パス「/index.html」を指定するとサーバのファイルシステム上の絶対ファイルパスを返します。これは「http://host/contextPath/index.html」への要求によって提供されるファイルへのパスです。この場合の contextPath は、この ServletContext のコンテキストパスを意味しています。
返される実際のパスは、適切なパスの区切り文字も含めて、サーブレットコンテナが実行されているコンピュータおよびオペレーティングシステムに合わせられた形式です。コンテンツが .war アーカイブにより提供されている場合など、なんらかの理由でサーブレットコンテナが仮想パスを実際のパスに変換できない場合、このメソッドは null を返します。
path - 仮想パスを指定する StringString。変換が実行できない場合は nullpublic java.lang.String getServerInfo()
返される文字列の形式は、servername/versionnumber です。たとえば JavaServer Web Development Kit の場合、JavaServer Web Dev Kit/1.0 の文字列が返されます。
サーブレットコンテナは、主要文字列の後のかっこ内に、たとえば JavaServer Web Dev Kit/1.0 (JDK 1.1.6; Windows NT 4.0 x86) のように、ほかのオプションの情報も返すことができます。
Stringpublic java.lang.String getInitParameter(java.lang.String name)
String を返します。初期化パラメータはコンテキスト内で有効です。パラメータが存在しない場合は、null を返します。
このメソッドで、「Web アプリケーション」全体で有効な設定情報が利用できるようになります。たとえば、Web マスターの電子メールアドレス、または重要なデータを保持しているシステムの名前を提供することができます。
name - 値が要求されているパラメータの名前を表す StringStringServletConfig.getInitParameter(java.lang.String)public java.util.Enumeration getInitParameterNames()
String オブジェクトの Enumeration として返します。コンテキストに初期化パラメータがない場合は、空の Enumeration を返します。String オブジェクトの EnumerationServletConfig.getInitParameter(java.lang.String)public java.lang.Object getAttribute(java.lang.String name)
null を返します。属性を使用して、サーブレットコンテナは、このインタフェースが提供しないような追加情報をサーブレットに与えることができます。属性については、サーバのマニュアルを参照してください。サポートされる属性のリストは、getAttributeNames を使用して取得できます。
属性は java.lang.Object として、またはなんらかのサブクラスとして返されます。属性の名前はパッケージ名と同じ規則に従う必要があります。Java Servlet API 仕様では、java.*、javax.*、および sun.* に一致する名前を予約しています。
name - 属性の名前を指定する StringObject。指定された名前と一致する属性が存在しない場合は nullgetAttributeNames()public java.util.Enumeration getAttributeNames()
Enumeration を返します。属性の値を入手するには、属性名を指定した getAttribute(java.lang.String) メソッドを使用してください。EnumerationgetAttribute(java.lang.String)
public void setAttribute(java.lang.String name,
java.lang.Object object)
リスナーが ServletContext 上に設定されている場合は、コンテナがそのことをリスナーに通知します。
null 値が渡された場合の結果は、removeAttribute() を呼び出した場合と同じです。
属性の名前はパッケージ名と同じ規則に従う必要があります。Java Servlet API 仕様では、java.*、javax.*、および sun.* に一致する名前を予約しています。
name - 属性の名前を指定する Stringobject - バインドされる属性を表す Objectpublic void removeAttribute(java.lang.String name)
getAttribute(java.lang.String) を呼び出すと、null が返されます。
リスナーが ServletContext 上に設定されている場合は、コンテナがそのことをリスナーに通知します。
name - 削除する属性の名前を指定する Stringpublic java.lang.String getServletContextName()
|
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||