フレサーモン難民

備忘録など ほぼ自分向けのまとめ

フォーム

リクエストパラメータ:フォームの送信のボタンをクリックすると、「フォーム部品につけた名前=値」の1組のデータがリクエスト先に送信される。この「名前=値」のペアをリクエストパラメータという。リクエストパラメータ同士は「&」でつなげられて送信される。

例えば、"name=dog&color=black&age=9"というデータが送信されたなら3つのリクエストパラメータが送られてることになる。

リクエストパラメータを送信先のプログラムで取得する

リクエストパラメータは、HttpServletRequestインスタンスに格納され、リクエスト先のサーブレットクラスもしくはJSPファイルに渡される。よって、HttpServletRequestインスタンスのもつメソッドを使えば、リクエストパラメータを取り出すことができる。

リクエストパラメータを取得するサーブレットクラス:

@WebServlet("/GetParametersServlet")
public class GetParametersServlet extends HttpServlet {
  protected void doPost( HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {

 // リクエストパラメータの文字コードを指定
    request.setCharacterEncoding("UTF-8");

 // リクエストパラメータを取得
    String name = request.getParameter("name");
    String color = request.getParameter("color");
}

リクエストパラメータを取得する際に注意する点が4つある。
1.URLパターン
URLパターンをリクエスト送信元フォームのaction属性と一致させる。
2.実行メソッド
サーブレットクラスの実行メソッド(GETメソッド/POSTメソッド)を送信元フォームのmethod属性と一致させる。
3.文字コード
リクエストパラメータを取得する際の文字コードを送信元フォームの文字コードと一致させる。
4.リクエストパラメータのname属性
getParameter()メソッドの引数を送信元フォームのname属性と一致させる。


参照:「スッキリわかるサーブレット&JSP入門」