Servlet と JSP による Web アプリケーション(その 1)
さて今回からしばらくは、Servlet と JSP によるもっとも基本的な Web アプリケーションを作成してみます。まずはお約束の環境から。
- OS : Windows Vista Home Premium SP2
- Java : JDK 7 update 5
- Tomcat : 7.0.28
- データベース : MySQL 5.5.24
- JDBC ドライバ : MySQL Connector/J 5.1.20
- 統合開発環境 : eclipse 4.2 (Juno) + WTP 3.4.0
Model を作ろう(その 1)
まずは取り扱うデータを用意します。MySQL をインストールし、menudb という名前のデータベーススキーマと scott というユーザーを作成してください。scott のパスワードは伝統にのっとって tiger とします。この辺の手順をいちいち解説していると長くなるので、やり方は各自調べてください。
以上の準備が済んだら、menudb にテーブルを作成します。今回は以下の書籍で使われているサンプルを使用します。
現場で使えるSQL 第2版 (DB Magazine SELECTION)
- 作者: 小野哲,藤本亮
- 出版社/メーカー: 翔泳社
- 発売日: 2006/11/16
- メディア: 単行本(ソフトカバー)
- 購入: 2人 クリック: 22回
- この商品を含むブログ (12件) を見る
ただしそのままですと MySQL では使えないので書き変える必要があります。今回は全部のテーブルを使用するわけではないので、必要なテーブルのデータだけ抜き出しますが、できれば他のテーブルも作っておくといいでしょう(ただし SQL 文の書き変えは各自やること)。
CREATE TABLE 顧客マスタ ( 顧客ID INTEGER NOT NULL, 顧客名 VARCHAR(20) NOT NULL, 連絡先 VARCHAR(20) NOT NULL, CONSTRAINT pk_kokyaku PRIMARY KEY (顧客ID) ); INSERT INTO 顧客マスタ (顧客ID, 顧客名, 連絡先) VALUES (1, '(株)ワイキキソフト', '090-AAAA-AAAA'); INSERT INTO 顧客マスタ (顧客ID, 顧客名, 連絡先) VALUES (2, '鈴木商事', '090-BBBB-BBBB'); INSERT INTO 顧客マスタ (顧客ID, 顧客名, 連絡先) VALUES (3, '斎藤模型店', '090-CCCC-CCCC'); INSERT INTO 顧客マスタ (顧客ID, 顧客名, 連絡先) VALUES (4, 'マクロハード', '090-DDDD-DDDD'); INSERT INTO 顧客マスタ (顧客ID, 顧客名, 連絡先) VALUES (5, '(株)ランヌ', '090-EEEE-EEEE');
Model を作ろう(その 2)
ここからはコーディング作業です。まず eclipse で Customers という名前で動的 Web プロジェクトを作成してください。もちろん localhost の Tomcat サーバの用意も忘れずに。
Servlet + JSP では Model を担当するのは Java Beans でした。さっそく作りましょう。
package jp.mydns.akanekodou.model; public class Customer { private int id; private String name; private String phone; public Customer() { } }
ここまで打ち込んでください(パッケージ名はお好みで変更してください)。Java Beans ではメンバ変数は private 変数とし、後で作る getter と setter でデータの出し入れをします。また、コンストラクタは必ず書く癖を付けましょう。今回は何もしないデフォルトコンストラクタと同じですが、書いておくと後で修正しやすいという一面もありますので。
さて、ここからは eclipse に任せましょう。editor 部分を右クリックして「Source」→「Generate Getters and Setters...」を選んで、getter と setter を作成してください。getId, setId, getName, setName, getPhone, setPhone という public メソッドが勝手に生成されたはずです。このメソッド名は getter および setter の命名規則に従って決められていて、必ずこう書かないといけないのですが、eclipse がそれを自動でやってくれるというわけです。
これで取り扱うデータの形式に対応する Java Beans はできました。まだロジックの部分が残っていますが、それは次の機会に。