|
Mergedoc Translation |
||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
public interface ServletRequest
クライアントのリクエストに含まれている情報を Servlet に提供するオブジェクトを定義しています。
Servlet コンテナが ServletRequest
オブジェクトを生成し、Servlet の service()
メソッドの引数で渡します。
ServletRequest
オブジェクトからは URL パラメータの名前と値、属性、入力ストリームが取得できます。
ServletRequest
を継承したインタフェースからはプロトコル依存のデータ (例えば、HTTP のデータは HttpServletRequest
型で提供されます) を追加情報として取得できるようになっています。
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()
例えば http や https , 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)
このリクエストのメッセージボディで使われている文字エンコーディング名を上書きします。 |
メソッドの詳細 |
---|
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
java.util.Enumeration getAttributeNames()
Enumeration
型のオブジェクトを返します。
このリクエストに利用可能な属性が無い場合、このメソッドは空の Enumeration
を返します。
Enumeration
java.lang.String getCharacterEncoding()
null
を返します。
String
。
リクエストに文字エンコーディングの指定が無い場合は null
void setCharacterEncoding(java.lang.String env) throws java.io.UnsupportedEncodingException
getReader()
メソッドを使って入力ストリームから読み込む前に実行されなければなりません。
env
- 文字エンコーディング名を含む String
java.io.UnsupportedEncodingException
- 有効な文字エンコーディング名でない場合int getContentLength()
java.lang.String getContentType()
null
を返します。
HTTP Servlet では CGI 環境変数の CONTENT_TYPE の値に相当します。
String
ServletInputStream getInputStream() throws java.io.IOException
ServletInputStream
を使ってリクエストのメッセージボディに含まれているバイナリデータを読み込むためのストリームを取得します。
このメソッドか getReader()
のどちらか一つだけが実行されてメッセージボディを取得します。両方ではありません。
ServletInputStream
オブジェクト
java.lang.IllegalStateException
- このリクエストですでに getReader()
メソッドが実行されている場合
java.io.IOException
- 入出力の例外が発生した場合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)
java.util.Enumeration getParameterNames()
String
オブジェクトで構成される Enumeration
を返します。
リクエストにパラメータが無い場合、空の Enumeration
を返します。
String
オブジェクトで構成された
Enumeration
。String
は各リクエストパラメータの名前。
パラメータが無い場合は空の Enumeration
。java.lang.String[] getParameterValues(java.lang.String name)
String
オブジェクトの配列で返しますが、パラメータが存在しない場合は null
を返します。
受け取ったパラメータに値がひとつしかない場合、配列の大きさは 1 です。
name
- 取得したいパラメータの名前を指定する
String
String
オブジェクトの配列getParameter(java.lang.String)
java.util.Map getParameterMap()
String
型。
パラメータマップの値は String
の配列です。java.lang.String getProtocol()
SERVER_PROTOCOL
と同等です。
String
java.lang.String getScheme()
http
や https
, ftp
のようなリクエストのスキームを返します。
RFC1738 で詳説されているように、スキームが違うと URL の形式も違ってきます。
String
java.lang.String getServerName()
Host
の ":" より前の部分であり、解決したサーバ名の場合やサーバ IP アドレスの場合があります。
String
int getServerPort()
Host
の ":" より後の部分であり、クライアント接続を受け入れたサーバポートです。
java.io.BufferedReader getReader() throws java.io.IOException
BufferedReader
を使い、文字データとして取り出します。
文字データはメッセージボディと同じ文字エンコーディングに変換されます。
メッセージボディを読み込むにはこのメソッドか getInputStream()
メソッドのどちらか一方を使います。両方は使えません。
BufferedReader
UnsupportedEncodingException
- サポートされてない文字エンコーディングが使われているかテキストをデコード出来なかった場合
java.lang.IllegalStateException
- このリクエストにおいてすでに getInputStream()
メソッドが実行されていた場合
java.io.IOException
- 入出力例外が発生した場合getInputStream()
java.lang.String getRemoteAddr()
REMOTE_ADDR
と同等です。
String
java.lang.String getRemoteHost()
REMOTE_HOST
と同等です。
String
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
void removeAttribute(java.lang.String name)
属性名はパッケージ名と同じ命名規約に従うべきです。
java.*
, javax.*
, com.sun.*
に一致する名前は Sun Microsystems が予約しています。
name
- 削除する属性の名前を示す String
java.util.Locale getLocale()
Locale
を返します。
クライアントのリクエストに Accept-Language ヘッダが無い場合、このメソッドはサーバのディフォルトロケールを返します。
Locale
java.util.Enumeration getLocales()
Locale
で構成される Enumeration
を返しますが、これは Accept-Language ヘッダを元にクライアントが表示可能であると想定されるロケールを最適なロケールから順に並べたものです。
クライアントのリクエストに Accept-Language ヘッダが無い場合はサーバのデフォルトロケールを使って Locale
ひとつだけの Enumeration
を返します。
Locale
で構成される Enumeration
boolean isSecure()
boolean
を返します。
boolean
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)
java.lang.String getRealPath(java.lang.String path)
ServletContext.getRealPath(java.lang.String)
を使ってください。
int getRemotePort()
java.lang.String getLocalName()
String
java.lang.String getLocalAddr()
String
int getLocalPort()
|
Mergedoc Translation |
||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |