―Servlet/JSPリファレンス―
2003/11/13
コンテキストルートを取得するためのメソッド |
ワンポイントQuestion |
コンテキストルートを取得するためのメソッドは、次のうちどれですか?(単一選択)
|
解説 |
HttpServletRequestは、サービス処理本体(doGet()、doPost()など)で受け取るクライアントからサーバに送られたリクエスト情報が格納されているオブジェクトです。言い換えると、問題01-004「HTTPリクエスト」で説明したHTTPリクエストに詰まっている情報をこのオブジェクトから取得することができます。
●HTTPパラメータ
Enumeration getParameterNames()
String getParameter(String name)
String[] getParameterValues(String name)
詳しくは、問題01-006「Formデータの取得」を参照してください。
●データ共有
void setAttribute(String name, Object value)
Object getAttribute(String name)
Enumeration getAttributeNames()
void removeAttribute(String name)
詳しくは、問題01-015「Webスコープ内でのデータ共有」を参照してください。
●ヘッダ情報
String getHeader(String name)
Enumeration getHeaders(String name)
Enumeration getHeaderNames()
詳しくは、問題01-007「HTTPリクエストヘッダの取得」を参照してください。
●要求URL情報
String getContextPath()
String getServletPath()
String getRequestURI()
String getRequestURL()
●クッキー
Cookie[] getCookies()
詳しくは、問題01-014「Cookie操作」を参照してください。
●セッション情報
HttpSession getSession(boolean create)
詳しくは、第2章「セッション・トラッキング」を参照してください。
そのほかには、クライアントから送信されたデータの文字コードを指定するための
void setCharacterEncoding(String env)
があります。文字コードについては、問題01-012「文字コード」を参照してください。
前記項目についてのほとんどは他節で説明していますので、本節では、
・ヘッダ情報 ・要求URL情報 |
について説明します。
●ヘッダ情報
問題01-004「HTTPリクエスト」で説明したとおり、HTTPリクエストのヘッダフィールドは「ヘッダ名:値」の形式になっています。
String getHeader(String name) 引数にヘッダ名を指定すると対応する値を戻り値で取得できます。 Enumeration getHeaders(String name) 引数にヘッダ名を指定すると対応するすべての値をString型でEnumerationに格納して戻り値で取得できます。 Enumeration getHeaderNames() 送信されたヘッダ名の一覧をString型でEnumerationに格納して戻り値で取得できます。 |
●要求URL情報
以下のようなコードをサービス処理に記述したとします。
PrintWriter out = resp.getWriter();
|
http://localhost/j2ee/DisplayPathServletとブラウザからアクセスした場合、その出力結果は、次のようになります。
getContextPath() | /j2ee |
getServletPath() | /DisplayPathServlet |
getRequestURI() | /j2ee/DisplayPathServlet |
getRequestURL() | http://localhost/j2ee/DisplayPathServlet |
つまり、
getContextPath() | コンテキストルートの取得 |
getServletPath() | サーブレット名の取得 |
getRequestURI() | コンテキストルート+サーブレット名の取得 |
getRequestURL() | クライアントが要求したURLの取得 |
です。
POINT |
HTTP要求メソッドを取得するための getMethod()というメソッドもあります。 |
KEYWORD |
■HTTPパラメータ クライアントから送信される付加的なデータで、GET要求の場合にはURLの一部として送信され、POST要求の場合はHTTPリクエストのボディに格納されます。 |
ワンポイントQuestionの解答 |
正解 A
Java2ラーニングブック
−Web Component Developer編−
|
- 実運用の障害対応時間比較に見る、ログ管理基盤の効果 (2017/5/9)
ログ基盤の構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。今回は、実案件を事例とし、ログ管理基盤の有用性を、障害対応時間比較も交えて紹介 - Chatwork、LINE、Netflixが進めるリアクティブシステムとは何か (2017/4/27)
「リアクティブ」に関連する幾つかの用語について解説し、リアクティブシステムを実現するためのライブラリを紹介します - Fluentd+Elasticsearch+Kibanaで作るログ基盤の概要と構築方法 (2017/4/6)
ログ基盤を実現するFluentd+Elasticsearch+Kibanaについて、構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。初回は、ログ基盤の構築、利用方法について - プログラミングとビルド、Androidアプリ開発、Javaの基礎知識 (2017/4/3)
初心者が、Java言語を使ったAndroidのスマホアプリ開発を通じてプログラミングとは何かを学ぶ連載。初回は、プログラミングとビルド、Androidアプリ開発、Javaに関する基礎知識を解説する。
|
|