【Servlet & JSP 】リクエストパラメーターを取得する

ブラウザ(ユーザー)から送信されるリクエストパラメータの値を
サーブレットクラスとJSPファイルそれぞれで受け取る方法を解説します。

サーブレットクラスでリクエストを受け付ける

送信先のサーブレットクラスのメソッド内で、
HttpServletRequestクラスのrequestインスタンスのメソッドを呼び出す。

リクエストパラメータの文字コードを指定する。
request.setCharacterEncoding(送信元HTMLの文字コード);

名前を指定してリクエストパラメータの値を取り出す。

String name = request.getParameter(パラメータ名);

※文字コードを指定しないと表示先で文字化けの原因となります。

post送信したユーザ名とパスワードを受け取る例

【ログイン情報を送信する jspファイルのフォーム 】

【 リクエストを受け付けるサーブレットクラス 】

postリクエストはdoPostメソッドで処理を受け付ける。

JSPファイルでリクエストを受け付ける

※リクエスト先がjspファイル

requestオブジェクトが
あらかじめJSPファイルのスクリプト式、スクリプトレットに定義されている。

(補足)GETリクエストでリクエストパラメータを送信する場合

補足としリンクURLにリクエストパラメータを渡す方法をメモします。

<a href=“/example/(送信先パス)?action=done>登録する</a>


?(クエスチョンマーク)パラメータ名=値
として送信先のパスの直後に付ける。

こちらを利用すれば、フォーム送信以外でリクエストパラメータを送信することができます。
(同じ仕組みを利用してformのaction属性でもパラメータを付与する事も出来ます)

URLに付与したパラメータの有無によって処理を切り分ける例

【 JSPファイル 】
aタグにリクエスト先のURLとリクエストパラメータ、actionを指定。

【 送信先のサーブレットクラス 】
(doGetメソッドでリクエストを受け付ける)
リクエストパラメータ actionの有無で処理を分けている。

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください