【Java & Tomcat】HttpServletRequestインターフェイスについて知ろう

  • このエントリーをはてなブックマークに追加
  • Pocket

この記事ではクライアントがサーブレットにリクエストを送る際に、そのリクエストを格納するオブジェクトとそのオブジェクトにアクセスするためのインターフェイスについて解説する。

HttpServletRequestインターフェイスとは何か

最初に、クライアントからのリクエスト情報がどのようにWebコンテナによって処理されるか見てみよう。リクエストの情報はHttpServletRequestオブジェクトに入れてWebコンテナとサーブレットの間で受け渡しされる。

HttpServletRequestインターフェイスとは、このHttpServletRequestオブジェクトに情報を入れたり出したりしてアクセスするためのインターフェイスである。

HttpServletRequestオブジェクトは、クライアントからサーバーへ送られるすべての情報をオブジェクトの内部にカプセル化している。つまり、HttpServletRequestインターフェイスに定義されたメソッドを使ってのみアクセスできると言うことだ。HTTPプロトコルの中で、カプセル化された情報はクライアントからサーバーにリクエストのHTTPヘッダーかメッセージのボディによって送信される。

リクエストパラメータ

リクエストパラメータは、情報をリクエストの一部としてクライアントからサーブレットに送る文字列のセットである。コンテナはこのパラメータをHttpServletRequestオブジェクトに追加する。この時、名前と値のペアーとして保存される。ひとつのパラメータの名前の下に複数の値を保存できる。次のメソッドがServletRequestインターフェイスのメソッドとしてパラメータにアクセスするために用意されている。

  • getParameter
  • getParameterNames
  • getParameterValues
  • getParameterMap。

HttpServletRequestオブジェクトへのインターフェイス

リクエストを受信するためにHTTPに依存する機能を提供するためにServletRequestインターフェイスを拡張したのが、HttpServletRequestインターフェイスである。例えば、HTTPヘッダーやボディにアクセスするためのメソッドを持っている。

WebコンテナはHttpServletRequestオブジェクトを生成して、それをサービスメソッド(doGet, doPostなど)に引数として渡す。

サーブレットは、引数として渡されたHttpServletRequestオブジェクトに対してメソッドを介して情報を読んだり書き込んだりする。それぞれのメソッドの詳細は別の記事で見ることができる。

まとめ

HttpServletRequestインターフェイスは、リクエストの送信に関して HTTP 独自の機能性を与えるためにServletRequest インタフェースを拡張したもの、という所を踏まえて本ページの内容を覚えておきたい。

  • このエントリーをはてなブックマークに追加
  • Pocket

このページの続きや関連ページは下記から一覧で確認できる。

短期間でエンジニアになる方法

・「まったくの初心者だけどエンジニアになりたい!」

・「プログラマーとして転職をしたい!」

という方はリナックスアカデミーの資料を見てみてください。短期間で未経験からエンジニアになることができるスクールとして15年間選ばれ続けてきた理由やノウハウが載った資料です。

エンジニアの入り口に立つために必要な勉強技術の最新動向本当に使えるIT資格学習に役立つ国からの奨励金などの情報が詰まっています。

無料で2,3日中にお手元にお届けします。


資料を見てみる

SNSでもご購読できます。

コメントを残す

*

ゼロからエンジニアを目指す方へ
短期間でエンジニアになる方法

必要な勉強や技術の最新動向、本当に使えるIT資格、学習に役立つ国からの奨励金などの情報を無料でお届け

資料を見てみる