フォーム
リクエストパラメータ:フォームの送信のボタンをクリックすると、「フォーム部品につけた名前=値」の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入門」