HTTPリクエストのパラメータを入手する
サーブレットを使って、クライアントからリクエストされてきた問合せ文字列(パラメータ)を入手することができます。
パラメータ名が指定できれば、パラメータの値が取得できます。
下のコードはdoGetメソッドを実装しています。
ExamRequestParamクラスのdoGetメソッドを呼び出すための操作が2通りありますが、それぞれ実行しています。
パターン1:Uブラウザのアドレスフィールドに問合せ文字列を直接入力し、呼び出し。
パターン2:HTMLフォームから問い合わせ文字列を入力し、呼び出し。
import java.io.*;
import java.text.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
/**
* getParameter(String parameter_name) method returns
* parameter values.
*/
public class ExamRequestParam extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
String title = "Requesut parameter";
out.println("<title>" + title + "</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>" + title + "</h1>");
out.println("Param1 " + " : " + request.getParameter("param1"));
out.println("</body>");
out.println("</html>");
}
}
<パターン1の実行結果>
ブラウザのアドレスフィールドに、http://localhost:8080/bigcare2/servlet/ExamRequestParam?param1=abcdefgと入力すると、以下の応答画面が表示されます。

<パターン2の第1画面>
HTMLフォームから問合せ文字列を入力し、"SEND"ボタンをクリックすると、処理結果が返ってきます。
参考までにHTMLソースをこのページの下に載せています。

<パターン2の実行結果>
パターン1の実行結果と同じ画面になります。
<request.getParameter() method>
引数にパラメータ名を表す文字列を設定すると、パラメータの値を入手することが出来ます。
アドレスフィールドの中で問合せ文字列を使う場合、パラメータ名とパラメータ値は"="で関係付けられ、左辺がパラメータ名、
右辺がパラメータ値になります。
| <参考:requestParam.html> | <html> <head> <title>Requesut parameter</title> </head> <body> <h1>Requesut parameter</h1> <form action="http://localhost:8080/bigcare2/servlet/ExamRequestParam"> <pre> PARAM1 :<input type="text" name="param1"> <input type="submit" value="send"> </form> </body> </html> |
<form>タグにメソッドが記述されていません。 この事から、デフォルトのメソッドはGETメソッドであることが判ります。 つまり、サーブレットのdoPostメソッドを呼び出したい場合は、<form>タグに明示的にメソッドを記述する必要があります。 |