リクエストパラメータとは
リクエストパラメータはjspのフォームから「名前」と「値」を受け取ることができます。 下記に参考コードを記述します。
<form name="" action="呼び出したいServlet,jsp" method="post">
ユーザ名: <input type="text" name="user"><br>
パスワード:<input type="text" name="pass"><br>
<input type="submit" value="送信">
</form>
action属性:送信先のサーバーサイドプログラムを記述します。Javaの場合はサーブレットかJspファイルを指定します。
method属性:リクエストメソッドを記述します。GETかPOSTを選択。
サーブレットでリクエストパラメータを取得する
jspの準備はできたのでサーバーサイドプログラムのサーブレット側でパラメータを取得をしたいと思います。
@WebServlet("/呼び出したいServlet")
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//リクエストパラメータの文字コードを取得
request.setCharacterEncoding("UTF-8");
String user = request.getParameter("user");
String pass = request.getParameter("pass");
}
String user = request.getParameter("name属性の値");のように リクエストパラメータの値を取得するにはname属性を引数で指定する必要があります。
応用編
hiddenパラメータ
input type="hidden" name="pass" value="値"のようにhiddenパラメータという部品を利用すると、 画面には表示されず値を取得することができる。
jsp
<form name="" action="呼び出したいServlet,jsp" method="post">
ユーザ名: <input type="text" name="user"><br>
<input type="hidden" name="pass" value="値"><br>
<input type="submit" value="送信">
</form>
リクエストの先に?をつける
リクエストの先に?をつけることで、値を取得することができます。リンクの場合とフォームの場合で使うことができます。
リンクの場合
<a href="Servlet?名前=値">リンク先</a>
フォームの場合
<form name="" action="Servlet?名前=値" method="post">
<input type="submit" value="送信">
</form>
まとめ
リクエストパラメータはよく使われるので、復習のためにコードを書いてみました。