SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

GlassFishからアプローチするJava

GlassFishからアプローチするJava~入門編~
第4回「Webアプリケーションの作成 GlassFish管理コンソールを使う」

式言語とJSTLの組み合わせは美しい


ダウンロード サンプルコード (7.8 KB)

JNDIのAPIを用いてDataSourceオブジェクトを取得する

 図32の7行目、8行目でコネクションプールのJDNI名を元にDataSourceを取得しています。Contextオブジェクトのlookupメソッドが外部リソースを探すためのメソッドです。引数はJNDI名を設定しますが、管理コンソールで入力した「jdbc/imoshop」だけでは認識してくれません。頭に「java:comp/env/」をつける必要があります。アノテーションを使えるアプリケーションサーバもあるようですが、GlassFish v2.1.1ではDataSourceを得ることができず、従来通りのコーディングをしています。(アノテーションの場合、DataSourceの宣言の前に

@Resource(name="jdbc/imoshop")

のように管理コンソールで入力したJNDI名がそのまま使えます。今回は、外部ソースを見つけることが目的であるためアノテーションを使えなくても構いませんが、成功した方がいらっしゃればコメント頂ければと思います。

図32.ImoshochuCatalogDAOImplクラス(第2版)
001:    public ArrayList getImoshochuCatalogList() {
002:        Connection conn = null;
003:        Statement statement = null;
004:        ResultSet rs = null;
005:        ArrayList imoCatalog = new ArrayList();
006:        try {
007:            Context c = new InitialContext();
008:            DataSource ds = (DataSource)c.lookup("java:comp/env/jdbc/imoshop");
009:            conn = ds.getConnection();
010:            statement = conn.createStatement();
011:            rs = statement.executeQuery(sql);
012:            ImoshochuCatalogItem imoItem = null;

DataSourceオブジェクトからConnectionオブジェクトを取得する

 図32の9行目でConnectionオブジェクトを取得しています。コネクションの取得が完了すれば、残りの処理は全く同じです。

おさらい

  • 第3回で説明した式言語、JSTLを使ってカタログを作成
  • MySQL、MySQL Workbenchのインストールとセットアップ
  • GlassFishの管理コンソールを使ってコネクションプールを作成

 MySQL WorkbenchとGlassFishの管理コンソールについて体系的に説明することは当連載の目的ではないため、ユーザガイドなどをダウンロードし学習していただければと思います。

 サンプルコードとimoshopデータベースのリストア用SQLはページトップに用意しています。ダウンロードしてお使いください。今回のプロジェクトのフォルダ構成は図33の通りです。リストア用SQLはMySQL Administratorのexport機能を使用して作成したものです。MySQL Administratorのimportを使用してデータベースを作成してください。今回までは、非常に簡単なテーブルなので、SQL文の中を見て、皆さんがお使いのデータベース製品に作成されても構いません。なお、ImoshochuCatalogDAOImplについては最終的な第2版のみ収録していますのでご了承ください。

図33.第4回までのフォルダ構成
図33.第4回までのフォルダ構成

 次回は芋焼酎酒店の買い物かごの実装をします。

 

この記事は参考になりましたか?

連載通知を行うには会員登録(無料)が必要です。
既に会員の方はを行ってください。
GlassFishからアプローチするJava連載記事一覧

もっと読む

この記事の著者

川久保 智晴(カワクボ トモハル)

haruプログラミング教室(https://haru-idea.jp/)主宰。COBOL、FORTRANで13年、Javaを中心としたWeb開発で11年。3つしか言語知らないのかというとそうでもなく、sed/awk、Perl、Python, PHP,  C#, JavaScriptなども一時期は業...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/4841 2010/02/27 14:46

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー