はじめに
この連載では、「GlassFish」という製品を利用して、Java言語に親しんでもらうことを目的としています。第4回目の今回は、サンプルWebアプリケーションのカタログ部分の作成を通して、Data Access Object(DAO)パターンやGlassFishの管理コンソールの操作などについて触れていきます。
対象読者
- Javaでなにかしらのアプリケーションを作成したことのある方
- Javaの変数の宣言や、if文・for文・while文の制御文など簡単な文法を知っており、アプリケーションを作成したことのある方
オブジェクト指向プログラミングができなくとも構いません。徐々に学んでいければと考えています。また、学びやすいWebアプリケーションをサンプルとするので、Webアプリケーションとは違った分野を勉強したい方には当連載は向いていません。
本稿で想定する主要技術のバージョン
Java EE 5を使用するため、主な技術要素のバージョンは以下の通りです。EJBに関しては応用編で扱う予定です。
- Servlet:2.5
- JSP:2.1
- JSTL:1.2
- JTA:1.1
- EJB:3.0(応用編)
Webアプリケーションの作成
第3回まで読んでいただいた方はいつになったらGlassFishを使ってWebアプリケーションを作成するんだろうかと感じられたことだと思います。Webアプリケーションは「Hello, World」をブラウザに表示するだけでは何も身につけることができないため、第2回と第3回でWebアプリケーションの基礎である、ServletとJSPについて説明しました。準備は整いました。慌てず、じっくりとWebアプリケーションを構築していきましょう。
架空のネットショップである「芋焼酎酒店」を作成していきます。「芋焼酎酒店」は以下の仕様を満たすものとします。
- 芋焼酎のカタログを表示する
- カタログから銘柄を選択し、買い物かごに入れる
- 買い物かごには購入予定の芋焼酎の銘柄、単価、本数を1明細として銘柄分の行をリストとして表示される
- 買い物かご明細の本数は増減できる。ただし、0本になった場合、買い物かごから削除する
- 買い物かごは明細だけでなく、送料、合計金額を表示する
- 芋焼酎酒店は認証機能を持つ
構築スケジュール
- カタログ作成:
第4回(今回)。DAO(Data Access Object)のスケルトンを作成する。当DAOは銘柄の一覧を返すためのクラス。最初はデータベースにアクセスせず、静的に保持しているオブジェクトのArrayListを返す。ServletはDAOを呼び出し、戻り値をセッション中に埋め込みJSPに渡す。JSPは式言語、JSTLのみを使いカタログをブラウザに表示する。最後にスケルトンとして作成したDAOを実際のデータベースに接続する。 - 買い物かご作成:
第5回、第6回では上記仕様の買い物かごの機能を作成する。買い物かごはセッションオブジェクトに格納し、買い物かごへの追加・削除・更新があるたびに買い物かごテーブルの内容を書き換える。第5回では買い物かごを実装するのに必要なテーブルを準備し、買い物かごへの追加機能を実装する。第6回は削除・更新機能を実装する。 - 認証機能作成:
第7回では認証機能を持たせることで、複数の客の管理を行えるようにする。レルムという概念を紹介するが第7回ではJDBCレルムを使用する。
第7回で入門編の最終回とします。応用編はきりがないくらい話題が多いため、厳選して紹介できればと考えています。JBI(Java Business Integration)まで説明できればと思っています。
作成したものをアプリケーションサーバに配置するにはデプロメント・ディスクリプタ(web.xml)を記述する必要がありますが、その都度説明を追加します。