ステップバイステップで学ぶ

初めてのWebアプリケーション・サーバ




第4回 MVCモデルでのWebアプリケーション作成

 3.MVCモデルとWebSphere Studioウィザード

 MVCモデルで開発することは、アプリケーションの流れを理解しやすくし、プログラムとHTMLを分離することでそれぞれのメンテナンスをしやすくします。しかし、初めてサーブレット・プログラミングを経験する人にとってはMVCモデルでの開発は教科書には載っていない未知の分野でもあります。そこで、そのような初心者にとって教科書ともなるサンプル・プログラム(ひな型)を提供してくれるのがWebSphere Studioウィザードです。

 WebSphere Stuidoを起動してください。メニューから[ファイル−プロジェクトのオープン]で前回作ったTestプロジェクトを開きます(プロジェクト名はtestでしたが、今回からはTestとして説明をします。適宜読み替えてください)。プロジェクト・フォルダ「C:\Program Files\WebSphere\Studio35\projects\Test\」にあるTest.waoファイルを選択して[開く]ボタンをクリックするだけです。なお、チーム開発をするときはこのプロジェクト・フォルダとTest.waoファイルを共有します。

画面1 新規プロジェクト

画面2 Testプロジェクト

 DB2が始動していることを確認してください。これからSQLウィザードを使ってデータベースの照会を行います。

■SQLウィザードでデータベースの照会を行う

1.Testプロジェクトのルート・フォルダを選択して、メニューから「ツール−ウィザードSQLウィザード」としてSQLウィザードを起動します。SQLウィザードはJDBCドライバを使用してデータベースに接続し、実際に表を照会しながらSQL文を作成するツールです


画面3 SQLウィザード

2.[SQLステートメントに名前をつけ・・・]と書かれているフィールドに「test」と入力し、SQLステートメント・タイプに「SELECT」を選択します。[次へ]を押して次へ進みます

3.[ログオン]タブでは次の値を設定します


データベースURL jdbc:db2:SAMPLE
ユーザーID wsadmin
パスワード wsadmin2
ドライバー識別子 IBM DB2 UDB local

4.[接続]ボタンをクリックします


画面4 [ログオン]タブ

データベースへの接続が成功するとSQLウィザードに複数の新しいタブが現れます。これらのタブで必要な情報を入力してSQL文を完成させていきます。まず表の選択です。

5.[表]タブの左側にある使用可能表のリストから使用する表を選択します。表は複数選択することもできます。ここでは「EMPLOYEE」と「DEPARTMENT」を選択します。複数の表を選択するときはCtrlキーを押しながらクリックします。表を選択したら、中央の[>]ボタンをクリックして選択した表を右側の選択表のリストに表示させます。そして[次へ]をクリックして次へ進みます

画面5 表

6.[列]タブでは右側の使用可能列のリストから「EMPNO」、「FIRSTNME」、「DEPTNAME」を選択し、[>]ボタンをクリックします。EMPNOとFIRSTNMEはEMPLOYEE表、DEPTNAMEはDEPARTMENT表の列です。[次へ]をクリックして次に進みます


7.[結合]タブではWSADMIN.DEPARTMENTから「DEPTNO」、WSADMIN.EMPLOYEEから「WORKDEPT」を選択して、右側にある[結合]ボタンをクリックします。結合が成功すると列と列が緑色の太線で結ばれます。[次へ]をクリックして次に進みます

画面6 結合

8.[条件]タブでは左側から順番に使用可能列「EMPNO」、演算子「Contains」を選択し、[パラメーターの追加]ボタンをクリックします。.追加パラメーターダイアログが開きますので「id」と入力し[了解]ボタンをクリックします。右側の値のリストの先頭に「:id」が追加されたはずです。最後に[追加]ボタンをクリックしてください。下の条件の枠中に「( WSADMIN.EMPLOYEE.EMPNO like '%' CONCAT :id CONCAT '%' )」と書かれたはずです。このように条件の枠中に条件文が書かれて初めて条件の追加が完了します。[次へ]をクリックして次へ進みます

画面7 条件

9.[グループ]タブは使いません。そのまま[次へ]をクリックして次へ進みます

10.[オーダー]タブでは表示される順序を決めます。ソートしたい列を選択します

画面8 オーダー

11.[レビュー]タブでは[実行]ボタンをクリックして出来上がったSQL文をテストしてみることができます。下側にある「スキーマWSADMINが所有する表のスキーマ名は組み込まないでください。」をチェックして[次へ]をクリックして進みます

12.[終了]タブで[終了]ボタンをクリックして終了します

  さて、WebSphere Studioワークベンチにtest.sqlファイルが追加されたはずです。今度はこのtest.sqlファイルを使ってデータベースを照会するWebアプリケーションを作成します。

画面9 test.sqlが追加されたところ


■データベース・ウィザードでアプリケーションを作成する

1.Testプロジェクトのルート・フォルダを選択して、メニューから「ツール−ウィザードデータベース・ウィザード」としてデータベース・ウィザードを起動します。今は.sqlファイルが1つしかないので、すでにtest.sqlが選択された状態のはずです

画面10 データベース・ウィザード

2.[次へ]をクリックします。次は「マークアップ言語」です。ここで生成したいスタイルのコード「ServletModel」、マークアップ言語「HTML」を選択して[次へ]をクリックして進みます

3.「Webページ」では作成したいページを選びます。ここでは「入力ページ」、「結果ページ」を選びます。[次へ]をクリックして進みます


4.「入力ページ」では入力ページに表示する入力項目を選択します。データベース・ウィザードの場合、SQL文の条件が入力項目になります。ここでは「id」がそれです。すでにチェックされていることを確認して[次へ]をクリックして進みます

5.「結果ページ」では結果ページに表示する項目を選択します。すでに照会した表の列が選択されているはずです。[次へ]をクリックして進みます


6.「メソッド」では「実行()」がチェックされているはずです。このチェックははずさないでください。データベースの照会を実行するという意味です。[次へ]をクリックして進みます

7. 「セッション」ではデフォルトのまま[次へ]をクリックして進みます

ここで指定した内容は生成されるコードに影響を与えます。たとえば、セッションを使用する場合、サーブレットはHttpSessionにJavaBeanオブジェクトの参照を格納するようになります。また、JavaBeanオブジェクトの参照の名前もここで指定することができます。データベース・ウィザードの場合はデータベースBeanにも影響があります。セッションにJavaBeanオブジェクトを格納するため、データベース接続にデータ・ソースを使わずに直接JDBC接続をしています。また、切断は自分でコーディングして行う必要があります。ここでは残念ながらこれ以上長々と説明をすることができませんので、余裕のある方は実際にコードを読んでみてください。


画面11 セッション

8.「終了」では作成するファイルの名前を変更することができます。早速「名前の変更」ボタンをクリックして接頭部に「TestSQL」、パッケージ名に「test.sql」と入力しましょう。[OK]ボタンをクリックして名前を変更し、[完了]ボタンをクリックしてファイルを作成します

画面12 ファイルの作成

 ウィザードはMVCモデルに従ったファイルを生成したはずです。それを確かめるには関係ビュー(関係表示)を使うのがよいでしょう。メニューから「ウィンドウ−関係」を選択します。そしてワークベンチの右側のファイル・ビューからTestSQLHTMLInput.htmlを選択します。すると、左側の関係ビューにTestSQLHTMLInput.htmlとそこからリンクしているファイルが見えるようになったはずです。

画面13 関係ビュー

 ファイルのリンクをたどっていくとMVCモデルのファイルが整っているのがわかります。実際にTestSQLHTMLInput.htmlTestSQL.servlet TestSQLHTMLResults.jsp
TestSQLDBBean.classの順にファイルをたどっていきましょう。入力ページが呼び出しているTestSQL.servletはサーブレット構成ファイルです。サーブレット構成ファイルはXMLで書かれたテキスト・ファイルで、結果ページを定義するページ・リスト、実際に呼び出されるサーブレット・クラス名、そして、サーブレットに渡す初期化パラメーターが記述されています。このファイルの情報をもとに結果ページやエラーページが呼び出されているのです。このサーブレット構成ファイルはWebSphere Studio独自のクラスcom.ibm.webtools.runtime.StudioPervasiveServletを使用しています。

4.サーブレット構成ファイル

初めてのWebアプリケーション・サーバ(第5回)
  1.MVCモデルを使う理由
2.WebSphereとMVCモデル
3.MVCモデルとWebSphere Studioウィザード
  4.サーブレット構成ファイル
5.データ・ソースの登録
6.アプリケーション・サーバのサポートレベル

7.ServletModelとJSPModel

8.MarkupLanguage(マークアップ言語)


連載記事一覧





Java Agile フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Java Agile 記事ランキング

本日 月間