2012年3月10日土曜日

やり直し JAVAサーブレット(基礎からのサーブレット/JSP [改訂版] )その6

(p122) GET と POST

Webブラウザ と Webサーバ間の情報伝送は、

Webブラウザ  Webサーバ … リクエスト
Webブラウザ  Webサーバ … レスポンス

で、リクエストには、

”指定したファイルを下さい! ”    … GET
”私の情報を受け取って下さい!”  … POST

があり、GETやPOSTの事をリクエストメソッドと言う。
リクエストメソッドには、以下のようなものがある。

リクエストメソッド  サーブレットのメソッド   説明
GET          doGet()           コンテンツを取得する。情報を送信する。
POST         doPost()          情報を送信する。
HEAD         doHead()          ヘッダ部分を取得する。
PUT          doPut()           コンテンツを作成、更新する。
DELETE        doDelete()         コンテンツを削除する。
OPTIONS       doOptions()         使用可能なオプションの一覧を返す。
TRACE        doTrace()          ループバックを起動する。

これらは、HTTP の リクエストメソッドの種類に応じてサーブレットが
適切に処理する為に HttpServlet . class に用意されている。
サーブレットを作成する際に、HttpServlet クラスを拡張して、必要に
応じて doGet()、doPost()をオーバーライド する。


(p124) GETとPOSTの両方を使ったサンプル。

テキストのJSPコード( . . /servlet/input . MethodServlet~)を修正し、
. JSPファイル、. javaファイルを所定のフォルダに配置し、. javaファイルの
コンパイル、web . xml への追記、tomcat の再起動。

ブラウザで期待通りの結果が得られる。

日本語入力は依然として文字化けする(悔)が、先へ進むことにする。

文字化け解消法はこちら


(p127) GETでもPOSTでもパラメータの取得方法は同じ

String msg = request . getParameter(message) を解析したいと思う。
①   ②      ③       ④

①msg は、サーブレット内で使われる String(文字列)型の変数名で、
メモリー上のアドレスが格納される。
ブラウザからのリクエストでサーバが受け取った文字列が、
最終的にこの変数名を使い out オブジェクトの持つ println()メソッド
によって文字列として吐き出される。
※PrintWriterクラスとかが絡み合っていてすっきりとしたイメージが
   もてない。詳しく解説して欲しい。
②request は、コンテナがブラウザからのリクエスト情報を元に、
HttpServletRequest クラスのインスタンスとして生成したもの。
③getParameter()メソッドは、①のインスタンスが持つメソッドで、
変数(パラメータ) に格納されている値を取り出すメソッド。
④message は、ブラウザのテキストボックスに入力された文字列
を、ブラウザが一時保存する入れ物(変数名)で テキストの
例では ” hello ” が格納される。
この ” message ” はHTTPの約束事に則り、
ブラウザからサーブレットに送られる。

GETとPOSTではURLの文字列が変わってくる。
GET  … URLに入力パラメータが表示される。
POST … URLには起動したいサーブレットが表示され、
入力パラメータはHTTPのボディ部に収めらる。
        



情報処理 再チャレンジ ブログ ホーム へ

0 件のコメント:

コメントを投稿