(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のボディ部に収めらる。
情報処理 再チャレンジ ブログ ホーム へ
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 件のコメント:
コメントを投稿