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

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




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

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

 TestSQL.servletを開くと、WASで登録しなければならないデータ・ソース名がわかります。下から2行目の<init-parameter value="jdbc/jdbcdb2SAMPLE name="dataSourceName"/>がそれです。WASに登録するデータ・ソース名はjdbcdb2SAMPLEで、そのデータベース名はname="URL"にあるvalueからSAMPLEであることがわかります。ウィザードが作成したTestSQLDBBean.classはデータ・ソース名が登録されていないときは動的に擬似データ・ソースを作成してデータベースに接続を行います。そのための情報がURLdriverpassworduserIDなのです。また、WASに登録したデータ・ソース名がサーブレット構成ファイルの情報と一致しないときはサーブレット構成ファイルを編集してWASに登録されている名前にあわせておく必要があります。

サーブレット構成ファイル
<?xml version="1.0"?>
<!-- This file was generated by IBM WebSphere Studio using D:\Program Files\WebSphere\Studio35\BIN\GenerationStyleSheets\V3.5\JSP1.0\
ServletModel\ServletConfig.xsl-->
<servlet>
  <markup-language>
    <ml-name>HTML</ml-name>
    <ml-mime>text/html</ml-mime>
    <page-list>
      <default-page>
        <uri>/TestSQLHTMLResults.jsp</uri>
      </default-page>
    </page-list>
  </markup-language>
<code>test.sql.TestSQL</code>
  <init-parameter value="jdbc:db2:SAMPLE" name="URL"/>
  <init-parameter value="COM.ibm.db2.jdbc.app.DB2Driver" name="driver"/>
  <init-parameter value="wsadmin2" name="password"/>
  <init-parameter value="wsadmin" name="userID"/>
  <init-parameter value="jdbc/jdbcdb2SAMPLE" name="dataSourceName"/>
</servlet>



 5.データ・ソースの登録

 WAS管理コンソールを開始してください。メニューから「コンソール−タスク−データ・ソースの作成」を選択します。すると、データ・ソースの作成ウィンドウが開きます。ここで新規JDBCドライバーと新規データ・ソースを作成します。

1.JDBCドライバー・オプションで「新規JDBCドライバーの作成とインストール」を選択して[次へ]をクリックして進みます

2. JDBCドライバー・プロパティで次のように入力し[次へ]をクリックして進みます


名前 UDB61Driver
クラス名 com.ibm.db2.jdbc.app.DB2Driver
URL接頭部 jdbc:db2
JTAを使用可能にする

3.ノードでマシン名を選択し、JARファイルの[参照]ボタンをクリックして、「C:\SQLLIB\java\db2java.zip」を開きます。[次へ]ボタンを押して次へ進みます

4. データ・ソース・プロパティで次のように入力し[終了]ボタンをクリックします


データソース名 jdbcdb2SAMPLE
データベース名 sample

 以上でJDBCドライバーUDB61Driverとデータ・ソースjdbcdb2SAMPLEがトポロジー・ツリーの一番下に追加されたはずです。

 次に、ファイルを発行(Webサーバ上でファイルを公開すること)して、その動きを確かめてみましょう。

■ファイルの発行

1.発行ビュー(発行表示)に切り替えます。メニューから「ウィンドウ−発行」を選びます。発行ビューにはWebサーバとそのサーバ上に配置するファイルが表示されています。Webサーバlocalhostを選択して右クリックし「プロパティ」を選択してください。localhostプロパティをWASのMyTestアプリケーション・サーバにあわせて設定します

2.サーバ・アドレスにWASのサーバ・アドレスを入力します


ファイル・システムを使用して発行する Windows NT
Webapp webパス /test

3.[ターゲット]ボタンをクリックして発行ターゲットを設定します

html C:\WebSphere\AppServer\hosts\default_host\MyApp\web
servlet C:\WebSphere\AppServer\hosts\default_host\MyApp\servlets

画面14 発行ターゲット

4.設定したら[OK]ボタンをクリックしてすべてのウィンドウを閉じます。そしてWebサーバを右クリックして「このサーバの発行」を選択します。「発行オプション」ウィンドウが現れたら「次回の発行の前にこれらのオプションを表示」と「変更したファイルのみを発行」の2箇所にチェックをつけて[OK]ボタンをクリックします

画面15 発行オプション

5.発行途中にフォルダの作成やファイルの上書きの許可を求めるダイアログが現れます。これらはすべて「はい」を選択します。発行が完了したら、ワークベンチでTestSQLHTMLInput.htmlを選択して右クリックし、「ファイル・プレビュー・ツール−Internet Explorer」を選択します。すると入力ページが現れます

画面16 入力ページ

6.入力ページはシンプルなものです。idに「1」と入れて[実行依頼]ボタンをクリックしてみましょう。しばらくすると結果ページが現れます

画面17 結果ページ

 この結果ページもシンプルなもので、SQL文によって照会された結果が表形式で表示されています。しかし、このシンプルなWebアプリケーションはMVCモデルを使って作られたものなのであり、HTML、Servlet、JSP、JavaBeanファイルを編集することでより複雑なWebアプリケーションを作ることが可能なのです。

 6.アプリケーション・サーバのサポート・レベル

 WebSphere Studio 3.5ではプロジェクト・プロパティで発行するアプリケーション・サーバ(Application Server)のバージョンを選択することができます。このプロパティはプロジェクトのルート・フォルダを選択して右クリックし、「プロパティ」を選択することで現れます。[拡張]タブで、WASのバージョン3.5、3.0、2.xが選択できます。

画面18 プロジェクト・プロパティ


 7.ServletModelとJSPModel

 アプリケーションサーバのサポート・レベルと同時に、WAS3.0/3.5についてはJSP1.0とJSP0.91を選択できます(Fixpack2以降ではWAS3.5にJSP1.1が追加され、サポートされるServletのバージョンが2.2に変更されます)。デフォルトでは新規プロジェクトはWAS3.5/JSP1.0で作られます。これに加えて、ServletModel(WebSphere Stuido 3.0と同様にMVCモデルにしたがったServlet、Bean、入力/出力ページが生成される)とJSPModel(入力ページとJSPページが生成される)も選択できます。JSPModelはWebSphere Stuido 3.5で新しく提供されたものでMVCモデルからServletやBeanを取り除いた状態でServletModelと同等な機能を実現しています。たとえばデータベース・ウィザードの場合、JSPModelはデータベースBeanを生成する代わりに、JSPの中でIBMが提供するdatabase tag(「<tsx:」で始まるタグでDB接続プールが使えない)を使用しています。

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

 WebSphere Studio 3.5はマークアップ言語として、HTMLのほかにCompact HTML(NTTドコモのiモード)、VXML(Voice XML 1.0仕様)、WML(Wireless Markup Language 1.1仕様)をサポートしています。これらすべてのマークアップ言語を1回のウィザードの実行で同時に生成することができます。また、CompactHTMLとVXMLはPage Designerでも編集可能です。WMLについてはメモ帳(Notepad)やXMLエディターなどを使うことができます。

 以下は参考までの情報です。IBMが正式にサポートしているわけではありません。

■実行時にマークアップ言語の出力ファイルが決定される仕組み
 Studioが生成した入力ページからHiddenフィールド(mlnameという名前)を渡す。サーブレットはそれを見て(.servletファイルを経由して)出力ページを決定する。
App Serverでマークアップ言語を決定する(StudioPervasiveServletがgetMLTypeFromRequestによってWebSphere\AppServer\properties\client_types.xmlを見て使う)。App Serverでマークアップ言語を決定することができなかった場合、HTMLがデフォルトで使われる。

■ボイスとワイヤレスの注意点
 JSP0.91でVXMLとWMLを使うときは、必ず拡張子を.jspに変更しなければならない。これはJSP0.91では拡張子は必ず.jspにしなければならないからである。ここではVXMLやWMLをJSP0.91で作ることを勧めているわけではない。JSP1.0を使ってWAS3.0に配置するときは、JSPプロセッサーの構成で*.jsvと*.jswをWebアプリケーション・パスに追加しなければならない。WAS3.5ではデフォルトで追加されている。

 今回は以上で終わります。次回はEJBツールを使ってEJBの作成にトライします。


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

7.ServletModelとJSPModel

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


連載記事一覧





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

注目のテーマ

Java Agile 記事ランキング

本日 月間