|
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。
指定された名前の属性が無い場合は nulljava.util.Enumeration getAttributeNames()
Enumeration 型のオブジェクトを返します。
このリクエストに利用可能な属性が無い場合、このメソッドは空の Enumeration を返します。
Enumerationjava.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
StringgetParameterValues(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 と同等です。
Stringjava.lang.String getScheme()
http や https, ftp のようなリクエストのスキームを返します。
RFC1738 で詳説されているように、スキームが違うと URL の形式も違ってきます。
Stringjava.lang.String getServerName()
Host の ":" より前の部分であり、解決したサーバ名の場合やサーバ IP アドレスの場合があります。
Stringint 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 と同等です。
Stringjava.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 - 属性名を示す Stringo - セットする Objectvoid removeAttribute(java.lang.String name)
属性名はパッケージ名と同じ命名規約に従うべきです。
java.*, javax.*, com.sun.* に一致する名前は Sun Microsystems が予約しています。
name - 削除する属性の名前を示す Stringjava.util.Locale getLocale()
Locale を返します。
クライアントのリクエストに Accept-Language ヘッダが無い場合、このメソッドはサーバのディフォルトロケールを返します。
Localejava.util.Enumeration getLocales()
Locale で構成される Enumeration を返しますが、これは Accept-Language ヘッダを元にクライアントが表示可能であると想定されるロケールを最適なロケールから順に並べたものです。
クライアントのリクエストに Accept-Language ヘッダが無い場合はサーバのデフォルトロケールを使って Locale ひとつだけの Enumeration を返します。
Locale で構成される Enumerationboolean isSecure()
boolean を返します。
booleanRequestDispatcher 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()
Stringjava.lang.String getLocalAddr()
Stringint getLocalPort()
|
Mergedoc Translation |
||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||