JAVA:IT TRICK

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

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

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

POSTリクエストを利用するにはFORMタグのMETHOD属性をPOSTと指定する必要があります。POSTリクエストパラメータを取得する方法はGETリクエストと同じです。以下はPOSTリクエストパラメータを取得するサンプルです。

POSTリクエストパラメータ取得サンプル

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

48113.jsp
<html>
<body>
	<form action="../48113" method="post">
		<input type="text" name="text1" /><br />
		<textarea name="textarea" ></textarea><br />
		<input type="radio" name="radio1" value="radio1" />1
		<input type="radio" name="radio1" value="radio2" />2<br />
		<input type="checkbox" name="check1" />check1
		<input type="checkbox" name="check2" />check2<br />
		<input type="submit">
	</form>
</body>
</html>
Sample48113.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 Sample48113 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>48113</servlet-name>
		<servlet-class>Sample48113</servlet-class>
	</servlet>

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

</web-app>

サンプルの実行結果

このサンプルの48113.jspをブラウザで呼び出すと以下の画面が表示されます。

この画面の送信ボタンをクリックすると、テキストフィールド、テキストエリア、ラジオボタン、チェックボックスの名前と値が画面に表示されます。