【Java】POST ( データの受け渡し )
「登録処理や更新処理をおこなう」
【説明】
POSTメソッドは、HTTPのメソッドの一つで、主に登録処理や更新処理などの書き込みがあり、リソースが更新される可能性のある処理に対して使うメソッドになります。
【メリット】
- GET送信よりも多くのデータ量を扱える
- バイナリーデータ(2進数)が送信可能
【特徴】
- GETとは反対に結果にバラ付きがあり安全でないと定義されています。
- パラメーター等の値がリクエストURLには表示されず、メッセージボディに格納される
【使用場面】
- サーバからの情報取得時に使用
- HTMLの
form
に入力された内容をDBへ登録する - ブログの記事を投稿する
- 新しいユーザを登録する
- 既存のデータに新しい情報を付加する
getParameterValuesメソッド (複数の値を取得する)
getParameter()は一つの引数に対して取得しますが、1つの引数に対して複数の値が送られてくることもあります。
その際に使用するのが getParameterValues メソッドです。
【書式】getParameterValuesメソッドの書き方
getParameterメソッド
比較のために復習を兼ねて、getParameter()メソッドの書き方がこちらです。
String values[] = request.getParameterValues("args");
getParameterValuesメソッド
以下がgetParameterValuesメソッドです。
複数の値が返されるので、配列として宣言しています。
String values[] = request.getParameterValues("args");
【サンプル】HTML / JSPのチェックボックスの値をJavaが受け取る
【HTML / JSP】
// スポーツのチェックボックス
<form action="送信先" method="post"> //postメソッドを指定
<!-- 肉 -->
<input type="checkbox" name="foods" value="meet" />
<!-- 魚 -->
<input type="checkbox" name="foods" value="fish" />
<!-- 野菜 -->
<input type="checkbox" name="foods" value="vegetable" />
<!-- 果物 -->
<input type="checkbox" name="foods" value="fruits" />
<input type="submit" value="送信" />
</form>
【Java】
// 各チェックボックスのvalueの値が取得可能です
String sports[] = request.getParameterValues("foods");