8.ネットショップ
ここでは、文献(15)の仮想本屋さんの例をとり、データベースをMySQLからPostgreSQLに変更して動作させて見ます。
■ データの準備
テキストエディタで次のSQL文のファイルを作る。
ファイル名:booktable.sql
保存場所:C:\SQL(保存場所は任意だがアクセスしやすいと便利、SQLフォルダは作成する)
create table book_tbl (
ISBN character(20) not null,
TITLE varchar(100) not null,
AUTHOR varchar(50),
PRICE integer not null,
MEMO varchar(4000),
PICTURE varchar(1000)
);
ファイル名:insertbooktable.sql
保存場所:C:\SQL
insert into book_tbl values('ISBN4-8104-1973-8', '恐竜解剖図鑑', 'デヴィッド・ランバート',
3600, '', '');
ポストマスタを立ち上げる(pgsvmgr.exeのショートカットをダブルクリック)
psql.exeのショートカットをダブルクリックして対話ツールを起動する。
Hostname: localhost
Username: postgres
Password: (何も入力せずEnter)
Welcome to C:\postgresql-7.2.1-win32\bin\psql.exe, the PostgreSQL interactive
terminal.
Type: \copyright for distribution terms
\h for help with SQL commands
\? for help on internal slash commands
\g or terminate with semicolon to execute query
\q to quit
postgres=> \i C:\SQL\booktable.sql
postgres=> \i C:\SQL\insertbooktable.sql
エラーなく実行されたら表示して確認してみる
postgres=> select * from book_tbl;
いずれも入力したデータが表示されましたか?
postgres=> \q
■ Forte 4による開発
Forte 4を起動する。
プロジェクト/プロジェクトマネージャ/新規
プロジェクト名:shopDemoPG
了解
エクスプローラ[プロジェクト"shopDemoPG"]ウィンドウで
◇プロジェクト"shopDemoPG"上で右クリック
新規を追加
新規ウィザード/JSP&サーブレット/Webモジュールを選択
次へ
ディレクトリ:d:\shopDemoPG
完了
Webモジュールをマウント
了解
エクスプローラ[プロジェクト"shopDemoPG"]ウィンドウで
D:\shopDemoPGが2つ表示されるので下の1つを選択してDelキーで削除する。
ドキュメントベースを展開して
エクスプローラ[プロジェクト"shopDemoPG"]ウィンドウで
WEB-INF/クラス/shop の上で右クリック
新規/Javaパッケージ
新規ウィザード-Javaパッケージ
名前:shop
次へ
完了
WEB-INF/クラス/shopの上で右クリック
新規/JSP&サーブレット/サーブレット
新規ウィザード-サーブレット
名前:ShopMain
次へ
URLパターン:/servlet.ShopMain
完了
/*
* ShopMain.java
*/
// JDBCドライバをロードの部分を以下のように変更する。
try {
Class.forName("org.postgresql.Driver");
} catch (Exception e) {
e.printStackTrace();
}
WEB-INF/クラス/shopの上で右クリック
新規/Classes/Class java
新規ウィザード-Class java
名前:DBAccess
すべて規定値で次へ
完了
/*
* DBAccess.java
*/
// データベースに接続するConnectionオブジェクトの取得の部分を以下のように変更する。
con = DriverManager.getConnection(
"jdbc:postgresql://localhost:5432/postgres","postgres",
"");
// データベースに接続するConnectionオブジェクトの取得の部分を以下のように変更する。
con = DriverManager.getConnection(
"jdbc:postgresql://localhost:5432/postgres","postgres",
"");
WEB-INF/クラス/shopの上で右クリック
新規/Beans/Java Bean
新規ウィザード-Java Bean
名前:BookData
完了
/*
* BookData.java これは変更なし。
*/
WEB-INF/クラス/shopの上で右クリック
新規/JSP&サーブレット/サーブレット
新規ウィザード-サーブレット
名前:ListBookServlet
次へ
URLパターン:/servlet.ListBookServlet
完了
/*
* ListBookServlet.java これは変更なし。
*/
WEB-INF/クラス/shopの上で右クリック
新規/JSP&サーブレット/サーブレット
新規ウィザード-サーブレット
名前:DetailBookServlet
次へ
URLパターン:/servlet.DetailBookServlet
完了
/*
* DetailBookServlet.java これは変更なし。
*/
WEB-INF/クラス/shopの上で右クリック
新規/JSP&サーブレット/サーブレット
新規ウィザード-サーブレット
名前:CartServlet
次へ
URLパターン:/servlet.CartServlet
完了
/*
* CartServlet.java これは変更なし。
*/
ドキュメントベースの上で右クリック
新規/JSP&サーブレット/JSP
新規ウィザード-JSP
名前:CartList
完了
このような手順で以下の3つのJSPを作る。
CartList.jsp
DetailBook.jsp
ListBook.jsp
WEB-INF/クラス/shopの上で右クリック
新規/JSP&サーブレット/サーブレット
新規ウィザード-サーブレット
名前:DataEntry
次へ
URLパターン:/servlet/DataEntry
完了
■ Forte外部のコンテナで動作させる
作成したshopDemoPGディレクトリごとTomcat4.1.18\webapps\にコピーする。
Forteが作成したweb.xmlファイルも一緒にコピーされるので新しく作成する必要はありません。
■ JDBCドライバの準備
次のサイトをアクセスする。
http://jdbc.postgresql.org/download.html
PostgreSQL 7.2.x Java2 JDK1.2, JDK1.3, JDK1.4
のJava2項目をクリックして、
pg72jdbc2.jar(約113 Kバイト)
をダウンロードする。
このファイルを次のディレクトリにコピーする。
c:\Tomcat4.1.18\webapps\shopDemoPG\WEB-INF\lib
Tomcatを再起動する(必須)。
次のURLをアクセスする。
http://localhost/shopDemoPG/servlet.shop.ShopMain
正常に動作した!!
参考文献
(1) 「Web+DB PRESS」vol.8, 2002 Part 1 サーバサイドJavaの環境構築ApacheとTomcat
をインストールしよう
(2) 「月刊DBマガジン」2001.12 p.063
(3) 「月刊DBマガジン」2001.12 p.072
(4) 「月刊DBマガジン」 2002/June p.052
(5) 「月刊DBマガジン」2001.12 p.064
(6) 「WEB+DB PRESS」 Vol.8 2002 p.44
(7) 「JAVA PRESS SELECTION FOR BEGINNERSスタートアップJava」 p.141
(8) 「スタートアップJava」p.160
(9) 「とってもかんたん!サーブレット& JSP」p.076
(10)「月間リナックスワールド」2003.1 p.91
(11) 「Web+DB PRESS」vol.8, 2002, p.72
(12) 「SE・プログラマ スタートアップテキスト JSP基礎」菊池英明 著、平成13年12月25日、株式会社技術評論社
(13) 「JSP & Servlet Webですぐに使えるJSP & サーブレット実用サンプル集」川崎 克巳著、2002年7月31日、株式会社 ソーテック社
(14) 「今日から使えるJSP & サーブレットサンプル集 基礎編」山田 祥寛 著、2003年2月10日、株式会社 秀和システム
(15) 「図解標準サーブレット&JSPハンドブック」影山 瑛 著、2002年10月5日、株式会社 秀和システム
|