JAVA:IT TRICK

GETリクエストパラメータの取得

サーブレットでGETパラメータを受け取る方法について説明します。
  • このエントリーをはてなブックマークに追加
  • Clip to Evernote
  • IT TRICK RSS

サーブレットでGETパラメータを受け取る方法について説明します。

まず、HTTPのGETメソッドは以下のような場合に呼ばれます。

  • ブラウザのアドレスバーに直接アドレスを入力した場合
  • リンクをクリックした場合
  • フォームをサブミットした場合(FORMタグのMETHOD属性にGETを指定した場合やMETHOD属性を省力した場合)

以下はURLに含まれるパラメータを取得するサーブレットのサンプルです。

GETパラメータ取得サンプル

このサンプルではURLのパラメータすべてを受け取りブラウザにパラメータの名前と値を出力しています。

Sample64001.java
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Enumeration;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


public class Sample64001 extends HttpServlet {

	public void doGet(HttpServletRequest request,
			HttpServletResponse response)
	throws IOException, ServletException {

		PrintWriter out = response.getWriter();

		Enumeration names = request.getParameterNames();

		while (names.hasMoreElements()){
			String paramName = (String)names.nextElement();
			out.append("<b>");
			out.append(paramName);
			out.append(":");
			out.append("</b>");

			out.append(request.getParameter(paramName));
			out.append("<br />");
		}

	}
}

上記のサーブレットのためのweb.xml定義です。

web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app>

	<servlet>
		<servlet-name>48112</servlet-name>
		<servlet-class>Sample48112</servlet-class>
	</servlet>

	<servlet-mapping>
		<servlet-name>48112</servlet-name>
		<url-pattern>/48112</url-pattern>
	</servlet-mapping>

</web-app>

サンプルの実行結果

このサンプルを実行するには以下のようなURLでアクセスしてください。引数の名前と数は任意です。

URL:
http://localhost:8080/ServletSample/48112?a1=111&a2=3322&a3=123

URLに含まれる入力パラメータがすべて以下のように表示されます。