1
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Java】リクエストパラメータの取得

Last updated at Posted at 2021-08-26

リクエストパラメータとは

リクエストパラメータは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>

まとめ

リクエストパラメータはよく使われるので、復習のためにコードを書いてみました。

1
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?