Mergedoc
Translation

javax.servlet
インタフェース ServletRequest

既知のサブインタフェースの一覧:
HttpServletRequest
既知の実装クラスの一覧:
HttpServletRequestWrapper, ServletRequestWrapper

public interface ServletRequest

クライアントのリクエストに含まれている情報を Servlet に提供するオブジェクトを定義しています。 Servlet コンテナが ServletRequest オブジェクトを生成し、Servlet の service() メソッドの引数で渡します。

ServletRequest オブジェクトからは URL パラメータの名前と値、属性、入力ストリームが取得できます。 ServletRequest を継承したインタフェースからはプロトコル依存のデータ (例えば、HTTP のデータは HttpServletRequest 型で提供されます) を追加情報として取得できるようになっています。

作成者:
Various
関連項目:
HttpServletRequest

メソッドの概要
 java.lang.Object getAttribute(java.lang.String name)
          指定された名前の属性値を Object として返しますが、指定された名前の属性が存在しない場合は null を返します。
 java.util.Enumeration getAttributeNames()
          このリクエストで利用可能な属性名を含む Enumeration 型のオブジェクトを返します。
 java.lang.String getCharacterEncoding()
          このリクエストのメッセージボディで使われてる文字エンコーディングの名前を返します。
 int getContentLength()
          リクエストのメッセージボディ、あるいは、入力ストリームから読み込めるバイト長を返しますが、長さがわからない場合は -1 を返します。
 java.lang.String getContentType()
          リクエストに含まれるメッセージボディの MIME タイプを返しますが、タイプがわからない場合は null を返します。
 ServletInputStream getInputStream()
          ServletInputStream を使ってリクエストのメッセージボディに含まれているバイナリデータを読み込むためのストリームを取得します。
 java.lang.String getLocalAddr()
          リクエストを受け取ったインタフェースの IP (Internet Protocol) アドレスを返します。
 java.util.Locale getLocale()
          Accept-Language ヘッダを元に、クライアントがコンテンツを表示できると想定される Locale を返します。
 java.util.Enumeration getLocales()
          Locale で構成される Enumeration を返しますが、これは Accept-Language ヘッダを元にクライアントが表示可能であると想定されるロケールを最適なロケールから順に並べたものです。
 java.lang.String getLocalName()
          リクエストを受け取った IP (Internet Protocol) インタフェースのホスト名を返します。
 int getLocalPort()
          リクエストを受け取ったインタフェースの IP (Internet Protocol) ポート番号を返します。
 java.lang.String getParameter(java.lang.String name)
          リクエストパラメータの値を String 型のオブジェクトで返しますが、パラメータが存在しない場合は null を返します。
 java.util.Map getParameterMap()
          このリクエストから取得できるパラメータを java.util.Map で返します。
 java.util.Enumeration getParameterNames()
          このリクエストに含まれているパラメータ名を表す String オブジェクトで構成される Enumeration を返します。
 java.lang.String[] getParameterValues(java.lang.String name)
          指定された名前で取得できるリクエストパラメータ全ての値を String オブジェクトの配列で返しますが、パラメータが存在しない場合は null を返します。
 java.lang.String getProtocol()
          リクエストのプロトコル名とバージョンを HTTP/1.1 のように プロトコル名/メジャーバージョン番号.マイナーバージョン番号 の形式で返します。
 java.io.BufferedReader getReader()
          リクエストのメッセージボディを BufferedReader を使い、文字データとして取り出します。
 java.lang.String getRealPath(java.lang.String path)
          推奨されていません。 Java Servlet API 2.1 以降。 代わりに ServletContext.getRealPath(java.lang.String) を使ってください。
 java.lang.String getRemoteAddr()
          リクエストを送ってきたクライアントまたは最後のプロキシの IP (Internet Protocol) アドレスを返します。
 java.lang.String getRemoteHost()
          リクエストを送ってきたクライアントまたは最後のプロキシの FQDN (Fully Qualified Domain Name: 完全修飾ドメイン名) を返します。
 int getRemotePort()
          リクエストを送ったクライアントまたは最後のプロキシの送信元 IP (Internet Protocol) ポートを返します。
 RequestDispatcher getRequestDispatcher(java.lang.String path)
          指定されたパスに位置するリソースのラッパとして動作する RequestDispatcher オブジェクトを返します。
 java.lang.String getScheme()
          例えば httphttps, ftp のようなリクエストのスキームを返します。
 java.lang.String getServerName()
          リクエストが送られたサーバのホスト名を返します。
 int getServerPort()
          リクエストが送られたポート番号を返します。
 boolean isSecure()
          このリクエストが HTTPS のようなセキュアなチャネルを使って送られたものかどうかを示す boolean を返します。
 void removeAttribute(java.lang.String name)
          このリクエストから属性を削除します。
 void setAttribute(java.lang.String name, java.lang.Object o)
          このリクエストに属性をセットします。
 void setCharacterEncoding(java.lang.String env)
          このリクエストのメッセージボディで使われている文字エンコーディング名を上書きします。
 

メソッドの詳細

getAttribute

java.lang.Object getAttribute(java.lang.String name)
指定された名前の属性値を Object として返しますが、指定された名前の属性が存在しない場合は null を返します。

属性は 2 つの方法でセットされます。 リクエストに付随するカスタム情報として利用できるように Servlet コンテナが属性をセットすることがあります。 例えば、HTTPS で生成されたリクエストではコンテナは javax.servlet.request.X509Certificate オブジェクトを属性にセットするのでここからクライアントの証明書を取得できます。 属性は setAttribute(java.lang.String, java.lang.Object) メソッドを使ってプログラム的にセットすることも可能です。 プログラム的にセットすると RequestDispatcherが実行される前に情報をリクエストに組み込めます。

属性名はパッケージ名と同じ命名規約に従うべきです。 java.*, javax.*, sun.* に該当する名前は仕様で予約されています。

パラメータ:
name - 属性の名前を指定する String
戻り値:
属性の値が含まれている Object。 指定された名前の属性が無い場合は null

getAttributeNames

java.util.Enumeration getAttributeNames()
このリクエストで利用可能な属性名を含む Enumeration 型のオブジェクトを返します。 このリクエストに利用可能な属性が無い場合、このメソッドは空の Enumeration を返します。

戻り値:
リクエストに付随する属性名を含む文字列からなる Enumeration

getCharacterEncoding

java.lang.String getCharacterEncoding()
このリクエストのメッセージボディで使われてる文字エンコーディングの名前を返します。 リクエストに文字エンコーディングの指定が無い場合、このメソッドは null を返します。

戻り値:
文字エンコーディングの名前を含む String 。 リクエストに文字エンコーディングの指定が無い場合は null

setCharacterEncoding

void setCharacterEncoding(java.lang.String env)
                          throws java.io.UnsupportedEncodingException
このリクエストのメッセージボディで使われている文字エンコーディング名を上書きします。 このメソッドはリクエストのパラメータを読み込む前に、また getReader() メソッドを使って入力ストリームから読み込む前に実行されなければなりません。

パラメータ:
env - 文字エンコーディング名を含む String
例外:
java.io.UnsupportedEncodingException - 有効な文字エンコーディング名でない場合

getContentLength

int getContentLength()
リクエストのメッセージボディ、あるいは、入力ストリームから読み込めるバイト長を返しますが、長さがわからない場合は -1 を返します。 HTTP Servlet では CGI 環境変数 CONTENT_LENGTH の値に相当します。

戻り値:
リクエストのメッセージボディの長さを表す整数値。 長さがわからない場合は -1

getContentType

java.lang.String getContentType()
リクエストに含まれるメッセージボディの MIME タイプを返しますが、タイプがわからない場合は null を返します。 HTTP Servlet では CGI 環境変数の CONTENT_TYPE の値に相当します。

戻り値:
リクエストの MIME タイプの名前を含む String

getInputStream

ServletInputStream getInputStream()
                                  throws java.io.IOException
ServletInputStream を使ってリクエストのメッセージボディに含まれているバイナリデータを読み込むためのストリームを取得します。 このメソッドか getReader() のどちらか一つだけが実行されてメッセージボディを取得します。両方ではありません。

戻り値:
リクエストのメッセージボディを含む ServletInputStream オブジェクト
例外:
java.lang.IllegalStateException - このリクエストですでに getReader() メソッドが実行されている場合
java.io.IOException - 入出力の例外が発生した場合

getParameter

java.lang.String getParameter(java.lang.String name)
リクエストパラメータの値を String 型のオブジェクトで返しますが、パラメータが存在しない場合は null を返します。 リクエストパラメータというのはリクエストに付けて送られてくる追加情報です。 HTTP Servlet ではパラメータはクエリー文字列か POST された FORM のデータに含まれています。

このメソッドはパラメータに確実に一つの値だけがある場合に限って使用するべきです。 パラメータに複数の値があるかもしれない場合には getParameterValues(java.lang.String) メソッドを使ってください。

もしも、このメソッドをマルチバリューのパラメータに対して使用すると、getParameterValues() のメソッドの戻り値である配列の最初の値のみが返されます。

HTTP POST リクエストで送ったなど、パラメータのデータがリクエストのメッセージボディで送られた場合、getInputStream()getReader() メソッドを使って直接メッセージボディを読み込む操作は、このメソッドの実行に影響を与えることがあります。

パラメータ:
name - パラメータの名前を指定する String
戻り値:
単一のパラメータの値を表す String
関連項目:
getParameterValues(java.lang.String)

getParameterNames

java.util.Enumeration getParameterNames()
このリクエストに含まれているパラメータ名を表す String オブジェクトで構成される Enumeration を返します。 リクエストにパラメータが無い場合、空の Enumeration を返します。

戻り値:
String オブジェクトで構成された EnumerationString は各リクエストパラメータの名前。 パラメータが無い場合は空の Enumeration

getParameterValues

java.lang.String[] getParameterValues(java.lang.String name)
指定された名前で取得できるリクエストパラメータ全ての値を String オブジェクトの配列で返しますが、パラメータが存在しない場合は null を返します。

受け取ったパラメータに値がひとつしかない場合、配列の大きさは 1 です。

パラメータ:
name - 取得したいパラメータの名前を指定する String
戻り値:
パラメータの値が入っている String オブジェクトの配列
関連項目:
getParameter(java.lang.String)

getParameterMap

java.util.Map getParameterMap()
このリクエストから取得できるパラメータを java.util.Map で返します。 リクエストパラメータというのはリクエストに付けられて送られてくる付加情報です。 HTTP Servlet ではパラメータはクエリー文字列になっているか、あるいは、フォームデータ形式でポストされます。

戻り値:
パラメータ名が key 、パラメータ値がマップの値と なっている不変な java.util.Map。 パラメータマップの key は String 型。 パラメータマップの値は String の配列です。

getProtocol

java.lang.String getProtocol()
リクエストのプロトコル名とバージョンを HTTP/1.1 のように プロトコル名/メジャーバージョン番号.マイナーバージョン番号 の形式で返します。 HTTP Servlet ではこのメソッドで取得できる値は CGI で使用する環境変数の SERVER_PROTOCOL と同等です。

戻り値:
プロトコル名とバージョンを示す String

getScheme

java.lang.String getScheme()
例えば httphttps, ftp のようなリクエストのスキームを返します。 RFC1738 で詳説されているように、スキームが違うと URL の形式も違ってきます。

戻り値:
このリクエストに使われたスキームを示す String

getServerName

java.lang.String getServerName()
リクエストが送られたサーバのホスト名を返します。 その値はヘッダ情報 Host の ":" より前の部分であり、解決したサーバ名の場合やサーバ IP アドレスの場合があります。

戻り値:
サーバの名前を示す String

getServerPort

int getServerPort()
リクエストが送られたポート番号を返します。 その値はヘッダ情報 Host の ":" より後の部分であり、クライアント接続を受け入れたサーバポートです。

戻り値:
ポート番号を示す整数値

getReader

java.io.BufferedReader getReader()
                                 throws java.io.IOException
リクエストのメッセージボディを BufferedReader を使い、文字データとして取り出します。 文字データはメッセージボディと同じ文字エンコーディングに変換されます。 メッセージボディを読み込むにはこのメソッドか getInputStream() メソッドのどちらか一方を使います。両方は使えません。

戻り値:
リクエストのメッセージボディを含む BufferedReader
例外:
UnsupportedEncodingException - サポートされてない文字エンコーディングが使われているかテキストをデコード出来なかった場合
java.lang.IllegalStateException - このリクエストにおいてすでに getInputStream() メソッドが実行されていた場合
java.io.IOException - 入出力例外が発生した場合
関連項目:
getInputStream()

getRemoteAddr

java.lang.String getRemoteAddr()
リクエストを送ってきたクライアントまたは最後のプロキシの IP (Internet Protocol) アドレスを返します。 HTTP Servlet では CGI で使用される環境変数の REMOTE_ADDR と同等です。

戻り値:
リクエストを送ってきたクライアントの IP アドレスを示す String

getRemoteHost

java.lang.String getRemoteHost()
リクエストを送ってきたクライアントまたは最後のプロキシの FQDN (Fully Qualified Domain Name: 完全修飾ドメイン名) を返します。 コンテナがホスト名を解決できないか、(パフォーマンスを上げるため) 解決しないように設定されている場合は IP アドレスをピリオドで区切った形式にして返します。 HTTP Servlet では CGI で使用される環境変数の REMOTE_HOST と同等です。

戻り値:
クライアントの FQDN (Fullu Qualified Domain Name) を示す String

setAttribute

void setAttribute(java.lang.String name,
                  java.lang.Object o)
このリクエストに属性をセットします。 属性は一つのリクエストでのみ有効で、別のリクエストに変わるとリセットされます。 このメソッドは RequestDispatcher とともに使われるのが一般的です。

属性名はパッケージ名と同じ命名規約に従うべきです。 java.*, javax.*, com.sun.* に一致する名前は Sun Microsystems が予約しています。
値に null がセットされると removeAttribute(java.lang.String) を実行したのと同じ結果になります。
RequestDispatcher により異なる Web アプリケーションの Servlet からディスパッチされた場合は、このメソッドの設定は呼び出し側の Servlet で正しく検索されないかもしれないことに注意してください。

パラメータ:
name - 属性名を示す String
o - セットする Object

removeAttribute

void removeAttribute(java.lang.String name)
このリクエストから属性を削除します。 属性はリクエストがコンテナ内で処理されている間だけ維持されるにすぎないので、通常、このメソッドは必要ありません。

属性名はパッケージ名と同じ命名規約に従うべきです。 java.*, javax.*, com.sun.* に一致する名前は Sun Microsystems が予約しています。

パラメータ:
name - 削除する属性の名前を示す String

getLocale

java.util.Locale getLocale()
Accept-Language ヘッダを元に、クライアントがコンテンツを表示できると想定される Locale を返します。 クライアントのリクエストに Accept-Language ヘッダが無い場合、このメソッドはサーバのディフォルトロケールを返します。

戻り値:
クライアントに適していると想定される Locale

getLocales

java.util.Enumeration getLocales()
Locale で構成される Enumeration を返しますが、これは Accept-Language ヘッダを元にクライアントが表示可能であると想定されるロケールを最適なロケールから順に並べたものです。 クライアントのリクエストに Accept-Language ヘッダが無い場合はサーバのデフォルトロケールを使って Locale ひとつだけの Enumeration を返します。

戻り値:
クライアントに適していると想定される Locale で構成される Enumeration

isSecure

boolean isSecure()
このリクエストが HTTPS のようなセキュアなチャネルを使って送られたものかどうかを示す boolean を返します。

戻り値:
リクエストがセキュアなチャネルを使って送られたものかどうかを示す boolean

getRequestDispatcher

RequestDispatcher getRequestDispatcher(java.lang.String path)
指定されたパスに位置するリソースのラッパとして動作する RequestDispatcher オブジェクトを返します。 RequestDispatcher オブジェクトはリクエストをリソースにフォワードするかレスポンスにリソースをインクルードするのに使います。 リソースは動的なもの、静的なもの双方が対象です。

指定するのは相対的なパス名ですが、この Servlet が属しているコンテキスト外部のリソースは指定できません。 パス名が "/" で始まっている場合はこのコンテキストルートに対する相対パスであると解釈されます。 Servlet コンテナが RequestDispatcher を返せない場合、このメソッドは null を返します。

このメソッドは ServletContext.getRequestDispatcher(java.lang.String) とは違い、相対パスしか指定できません。

パラメータ:
path - リソースのパス名を指定する String。 相対パスの場合は現在の Servlet に対しての位置。
戻り値:
指定されたパスに位置するリソースのラッパとして動作する RequestDispatcher オブジェクト。 または Servlet コンテナが RequestDispatcher を返せない場合は null
関連項目:
RequestDispatcher, ServletContext.getRequestDispatcher(java.lang.String)

getRealPath

java.lang.String getRealPath(java.lang.String path)
推奨されていません。 Java Servlet API 2.1 以降。 代わりに ServletContext.getRealPath(java.lang.String) を使ってください。


getRemotePort

int getRemotePort()
リクエストを送ったクライアントまたは最後のプロキシの送信元 IP (Internet Protocol) ポートを返します。

戻り値:
ポート番号を示す整数値
導入されたバージョン:
2.4

getLocalName

java.lang.String getLocalName()
リクエストを受け取った IP (Internet Protocol) インタフェースのホスト名を返します。

戻り値:
リクエストを受け取った IP のホスト名を示す String
導入されたバージョン:
2.4

getLocalAddr

java.lang.String getLocalAddr()
リクエストを受け取ったインタフェースの IP (Internet Protocol) アドレスを返します。

戻り値:
リクエストを受け取った IP アドレスを示す String
導入されたバージョン:
2.4

getLocalPort

int getLocalPort()
リクエストを受け取ったインタフェースの IP (Internet Protocol) ポート番号を返します。

戻り値:
ポート番号を示す整数値
導入されたバージョン:
2.4

Mergedoc
Translation

Copyright © 2000- The Apache Software Foundation. All rights Reserved.