コンテンツにスキップ

第3章 追加

1 フォーム

一覧の上などに商品名(sname)と単価(tanka)を入力するフォームを作成します。

このとき、methodはpostにします。データを書き換えるような処理の場合、postを使用します。

<form action="insert" method="post">
商品名<input type="text" name="sname" value=""><br>
 <input type="text" name="tanka" value=""><br>
<input type="submit" value="追加">
</form>

2 追加処理

InsertServletを作成します。URLは /insert とします。

doPostでフォームから入力した内容を受け取ります。

request.setCharacterEncoding("UTF-8");

String sname = request.getParameter("sname");
int tanka = Integer.parseInt(request.getParameter("tanka"));

渡された情報でShouhinのDTOを生成後にDAOのinsertメソッドを使ってデータベースに追加します。

ShouhinDAO dao = new ShouhinDAO();
Shouhin dto = new Shouhin(0, sname, tanka);
dao.insert(dto);

DTP生成時に主キーである商品IDは0です。これは追加時に自動で設定されるためです。よってsidは何を設定しても構いませんが、ここでは0とします。

追加後には「追加しました」という画面を出してもいいですが、商品一覧に自動で戻っても良いでしょう。自動でページを遷移することをリダイレクトと言います。

URL slist に自動で遷移するには以下のように書きます。

response.sendRedirect("slist");