転職を繰り返したサラリーマンの多趣味ブログ

30才未経験でSEに転職した人の多趣味ブログ

【技術書メモ】基礎からのサーブレット④

様々なフォームの書き方

<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>Servlet/JSP Samples</title>
</head>

<body>

	<!-- action属性でフォームの送信先を指定 -->
	<!-- method属性でHTTPリクエストをPOSTに指定 -->
	<form action="select" method="post">

	<!-- セレクトボックス -->
	<p>購入数を選択してください</p>
	<select name="count">
		<option value="1">1</option>
		<option value="2">2</option>
		<option value="3">3</option>
		<option value="4">4</option>
		<option value="5">5</option>
	</select>

	<!-- ラジオボタン -->
	<p>購入方法を選択してください</p>
	<input type="radio" name="payment" value="カード" checked>カード
	<input type="radio" name="payment" value="代金引換">代金引換
	<input type="radio" name="payment" value="銀行振込">銀行振込
	<input type="radio" name="payment" value="コンビニ">コンビニ

	<!-- テキストエリア -->
	<p>商品のご感想をお寄せください</p>
	<p><textarea name="raview" cols="30" rows="5">商品名:</textarea></p>

	<!-- チェックボックス -->
	<p>お知らせメールの受信を希望されますか?</p>
	<p><input type="checkbox" name="mail">おすすめ商品のメールを受け取る</p>

	<p><input type="submit" value="確定"></p>

	</form>

</body>
</html>
@WebServlet(urlPatterns={"/chapter6/select"})
public class Select extends HttpServlet {

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

		// コンテンツタイプの指定
		resp.setContentType("text/html; charset=UTF-8");

		// 文字エンコーディングの指定
		req.setCharacterEncoding("UTF-8");

		PrintWriter pw = resp.getWriter();

		String count = req.getParameter("count");
		String payment = req.getParameter("payment");
		String review = req.getParameter("review");
		String mail = req.getParameter("mail");

		Page.header(pw);
		pw.println("<p>" + count + "個の商品をカートに入れました</p>");
		pw.println("<p>お支払い方法を" + payment + "に設定しました。</p>");
		pw.println("<p>ご感想ありがとうございます。</p>");
		pw.println("<p>[" + review + "]</p>");
		if(mail!=null) {
			pw.println("<p>メールをお送りします</p>");
		} else {
			pw.println("<p>メールはお送りしません</p>");
		}
		Page.footer(pw);

	}

}