目次 > 第2章 Server(Rich)版チュートリアル > 2.2 チュートリアル学習環境の整備

2.2 チュートリアル学習環境の整備

本節では、チュートリアルを学習するための環境整備について説明する。

備考

環境整備をOracleまたはPostgreSQLで行いたい場合は第3章 Appendixを参照のこと。

想定環境

本資料では以下の開発環境を想定して、解説している。

  • フレームワーク:TERASOLUNA Server Framework for Java(Rich 版) ver2.0.2.0
  • OS:Microsoft Windows 2000 / XP Professional
  • JDK:Java SE 5.0
  • Webアプリケーションサーバ:Apache Tomcat 5.5.xx (xxはバージョン番号)
  • データベース:H2 Database Engine 1.0.xx
  • ビルドツール:Apache Ant 1.6.xx (EclipseのAntプラグインのみでも可)
  • 総合開発環境:Eclipse SDK 3.2.xx
  • Eclipse plugin :WTP 1.5.xx, Property Editor 4.8.xx

インストール/開発環境の整備

(1) アプリケーションの用意

本書で必要となるアプリケーションを以下に用意する。

  • Java SE 5.0
  • Apache Tomcat 5.5.xx
  • H2 Database Engine 1.0.xx
  • Eclipse SDK 3.2.xx
  • WTP 1.5.xx
  • Property Editor 4.8.xx

(2) アプリケーションのインストール

用意した各アプリケーションをインストールする。本資料ではアプリケーションをそれぞれ以下のディレクトリにインストールすると想定して記述している。

アプリケーションインストールディレクトリ
Java SE 5.0C:\Program Files\java\jdk1.5.0_xx (xはバージョン番号)
Eclipse 3.2.2+プラグインC:\Eclipse
Tomcat 5.5.xxC:\Program Files\Apache Software Foundation\Tomcat 5.5.xx
WorkspaceディレクトリC:\Eclipse\workspace

Javaホームディレクトリの設定

ここでは以下のように環境変数を設定する。

  • JAVA_HOME : C:\Program Files\Java\jdk1.5.0_xx
  • path : %JAVA_HOME%\bin;

インストール済みJREの設定

  1. Eclipseの「ウィンドウ(W)」→「設定(P)」メニューを選択する。
  2. 「java」→「インストール済みのJRE」で、「jdk1.5.0_xx (xxはバージョン番号)」にチェックがついていることを確認する。
  3. 「java」→「コンパイラー」で、「JDK 準拠」のコンパイラ準拠レベルが“5.0”になるように設定する。

Tomcatの設定

  1. Eclipseの「ウィンドウ(W)」→「設定(P)」で「サーバー」→「インストール済みランタイム」を選択する。
  2. 「追加」ボタンを押下し、「Apache Tomcat v5.5」を選択し、「次へ」を押下する。
    • 既に「Apache Tomcat v5.5」が選択されている場合は、「編集」ボタンを押下し、インストールディレクトリが正しいか確認する。
  3. 以下のように入力し、「終了」を押下する。
    • 名前:Apache Tomcat v5.5
    • Tomcat インストール・ディレクトリー:C:\Program Files\Apache Software Foundation\Tomcat 5.5.xx(xxはバージョン番号)
    • JRE:ワークベンチデフォルトJRE
  4. Eclipseの「ファイル(F)」‐「新規(O)」-「その他(N)」メニューを選択する。
  5. ウィザードの選択から「サーバー」‐「サーバー」を選択し次へを押下する。新規サーバーから「Apache」‐「Tomcat v5.5 サーバー」を選択する。
  6. サーバー・ランタイムで「Apache Tomcat v5.5」が選択されていることを確認し、「終了」ボタンを押下する。
    • 「Apache Tomcat v5.5」が選択されていない場合は「インストール済みランタイム」を押下し、選択する。

構文チェックの設定

  1. Eclipseの「ウィンドウ(W)」‐「設定(P)」メニューを選択する。
  2. 「妥当性検証」を選択し、「JSP構文バリデーター」のチェックを外し、「OK」を押下する。

(3) プロジェクトの準備

本書で使用するチュートリアルアプリケーションではServer(Rich)版で提供しているブランクプロジェクトを使用する。
ここでは“terasoluna-server4jrich-blank_2.0.2.0.zip”ファイルを“C:\Eclipse\workspace”直下に展開する。

(4) プロジェクトのインポート

ブランクプロジェクトのインポート

(3)プロジェクトの準備」で作成した “C:\Eclipse\workspace\terasoluna-spring-rich-blank”をEclipseで編集 出来るようにインポートする。

  1. Eclipseを起動する。
  2. 「ファイル(F)」‐「インポート(I)」を選択する。
  3. 選択画面では「既存のプロジェクトをワークスペースへ」を選択して、次へを押下する。
  4. 「プロジェクトのインポート」画面ではルートディレクトリの選択欄に“C:\Eclipse\workspace\terasoluna-spring-rich-blank”を指定し、終了を押下する。
  5. 「パッケージ・エクスプローラ」よりインポートしたプロジェクトを開き、Webアプリケーション・ライブラリー[{0}]内にjarファイルが存在しているかを確認する。存在しない場合は、プロジェクトを右クリックして、「プロジェクトを閉じる」を選択し、再度プロジェクトを選択し「プロジェクトを開く」を選択する。それでも表示されない場合は、Eclipseを再起動する。
  6. 「パッケージ・エクスプローラ」よりインポートしたプロジェクトを開き、「サーバー・クラスパス・コンテナー」と表示されたものがないことを確認する。ある場合は、「(2)アプリケーションのインストール」のTomcatの設定作業を行っていない可能性があるので再度行い、その後、「サーバー・クラスパス・コンテナー」を選択し、右クリックメニューより「構成」を選択し、「Apache Tomcat v5.5」を選択し、「終了」を押下する。その後、Eclipseを再起動する。
  7. Eclipseの「プロジェクト(P)」‐「クリーン(N)」を選択し、すべてのプロジェクトをクリーンにチェックを入れて「OK」を押下する。


以下ににインポートした"terasoluna-spring-rich-blank”のプロジェクト構成を示す。

  • terasoluna-spring-rich-blank
    • sources
      • application-messages.properties
      • ApplicationResources.properties
      • castor.properties
      • commons-logging.properties
      • log4j.properties
      • namespaces.properties
      • sqlMap.xml
      • system.properties
      • system-messages.properties
      • views.properties
    • JRE システム・ライブラリー
    • Tomcat v5.5 ランタイム
    • Web アプリケーション・ライブラリー[{0}]
    • ant
    • terasoluna
    • webapps
      • error
        • error.xml
        • noSuchMessageError.xml
        • viewException.xml
      • META-INF
        • context.xml
      • WEB-INF
        • lib
        • validation
          • validation.xml
          • validator-rules.xml
          • validator-rules-ex.xml
        • velocity
          • ・・・
        • applicationAOP.xml
        • applicationContext.xml
        • blank-businessLogic.xml
        • blank-controller.xml
        • blank-servlet.xml
        • commonContext.xml
        • dataAccessContext-local.xml
        • sqlMapConfig.xml
        • web.xml
      • index.html

また、本資料で使用する各設定ファイルの解説を下表に示す。

ファイル名説明
sqlMap.xmliBATIS設定ファイル。SQL文を設定する。
validation.xmlバリデーション設定ファイル。
commonContext.xmlSpring設定ファイル。AOPのBean定義ファイル。トランザクション、ログの設定を行う。
applicationContext.xmlSpring設定ファイル。アプリケーション全体のBean定義ファイル。メッセージリソース、入力チェッククラスの設定を行う。
blank-businessLogic.xmlSpring設定ファイル。モジュール固有のBean定義ファイル。ビジネスロジックの設定を行う。
blank-controller.xmlSpring設定ファイル。モジュール固有のBean定義ファイル。コントローラの設定を行う。
blank-servlet.xmlSpring設定ファイル。プレゼンテーション層共通のBean定義ファイル。例外ハンドラ、ビュー、コントローラの設定を行う。
dataAccessContext-local.xmlSpring設定ファイル。データアクセスのBean定義ファイル。データソース、トランザクション、DAO、iBATISの設定を行う。
web.xmlWebアプリケーション設定ファイル。フィルタの設定を行う。

設定ファイルのリネーム

  1. “terasoluna-spring-rich-blank/webapps/WEB-INF/”フォルダ配下にある3つのファイル名を以下の表のようにリネームする。
リネーム前リネーム後
blank-businessLogic.xmltutorial-businessLogic.xml
blank-controller.xmltutorial-controller.xml
blank-servlet.xmltutorial-servlet.xml

Webアプリケーション設定ファイルの編集

  1. “terasoluna-spring-rich-blank/webapps/WEB-INF/web.xml”ファイルを以下の変更後のように修正する。

変更前

  ・・・略・・・

  <!-- ルートアプリケーションコンテキストを定義するXMLファイルのロケーション -->
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
      /WEB-INF/applicationContext.xml,
      /WEB-INF/blank-businessLogic.xml,
      /WEB-INF/dataAccessContext-local.xml,
      /WEB-INF/applicationAOP.xml
    </param-value>
  </context-param>

  ・・・略・・・

<!-- ======================================== サーブレット定義 -->
  <!-- Spring WebMVC サーブレット -->
  <!--
    TERASOLUNA Server Framework for Java(Rich)のリクエスト処理を行う。
    Webアプリケーションごとにアプリケーションコンテキストを保持する。
    デフォルトでは"<サーブレット名>-servlet.xml"が使用される。
  -->
  <servlet>
    <servlet-name>blank</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>/WEB-INF/blank-servlet.xml, /WEB-INF/blank-controller.xml</param-value>
    </init-param>    
    <load-on-startup>2</load-on-startup>
  </servlet>
  
  <!-- サーブレットマッピング定義 -->
  <servlet-mapping>
    <servlet-name>blank</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>

  ・・・略・・・

変更後

  ・・・略・・・

  <!-- ルートアプリケーションコンテキストを定義するXMLファイルのロケーション -->
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
      /WEB-INF/applicationContext.xml,
      /WEB-INF/tutorial-businessLogic.xml,
      /WEB-INF/dataAccessContext-local.xml,
      /WEB-INF/applicationAOP.xml
    </param-value>
  </context-param>

  ・・・略・・・

<!-- ======================================== サーブレット定義 -->
  <!-- Spring WebMVC サーブレット -->
  <!--
    TERASOLUNA Server Framework for Java(Rich)のリクエスト処理を行う。
    Webアプリケーションごとにアプリケーションコンテキストを保持する。
    デフォルトでは"<サーブレット名>-servlet.xml"が使用される。
  -->
  <servlet>
    <servlet-name>tutorial</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>/WEB-INF/tutorial-servlet.xml, /WEB-INF/tutorial-controller.xml</param-value>
    </init-param>    
    <load-on-startup>2</load-on-startup>
  </servlet>
  
  <!-- サーブレットマッピング定義 -->
  <servlet-mapping>
    <servlet-name>tutorial</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>

  ・・・略・・・

“tutorial-servlet.xml”の編集

本チュートリアルでの動作確認を平易にするため、レスポンスXMLの整形を有効にする。

  1. “terasoluna-spring-rich-blank/webapps/WEB-INF/tutorial-servlet.xml”を開き、以下のように修正する。

変更前

・・・略・・・

<!-- ======================================== オブジェクト-XMLマッピング定義 -->
  
  <!-- オブジェクト-XMLマッピングクラス -->
  <bean id="oxmapper" 
        class="jp.terasoluna.fw.oxm.mapper.castor.CastorOXMapperImpl" />

・・・略・・・

変更後

・・・略・・・

<!-- ======================================== オブジェクト-XMLマッピング定義 -->
  
  <!-- オブジェクト-XMLマッピングクラス -->
  <bean id="oxmapper" 
        class="jp.terasoluna.fw.oxm.mapper.castor.CastorOXMapperImpl" >
        <property name="preserveWhitespaceAtMarshal" value="false"/>
  </bean>

・・・略・・・

備考

Server(Rich)版では無効を推奨している。

(5) アプリケーションの動作確認

  1. サーバービューから「(2)アプリケーションのインストール」のEclipseの設定で追加したサーバーを選択して右クリックする。
  2. 右クリックメニューの中から「プロジェクトの追加と除去」を選択する。


  3. 使用可能プロジェクトの中に「(4)プロジェクトのインポート」でインポートしたプロジェクトがあるので、構成プロジェクトに追加する。


  4. 「サーバーを始動」ボタンを押下する。

  5. サーバー起動後、ブラウザを起動し以下にアクセスする。「TERASOLUNAテストクライアント」画面が表示されることを確認する。
    • AAA:8080/terasoluna-spring-rich-blank/

(6) データベースの設定

  1. チュートリアルプロジェクト“tutorial-rich”の“h2db”フォルダを“terasoluna-spring-rich-blank”直下にコピーする。
    • 以下にh2dbフォルダ内のファイルを示す。
      • h2.jar:H2DB本体。JDBCドライバも含む。
      • h2db_console.bat:H2コンソール起動バッチファイル。
      • h2db_init.bat:チュートリアル用テーブル生成バッチファイル。
      • h2db_start.bat:H2DB起動バッチファイル。
      • terasoluna.script:チュートリアル用テーブル生成スクリプトファイル。
  2. “h2db_start.bat”を起動する。
    • 起動直後、自動的にブラウザ上で管理コンソールが起動する。起動しない場合は“h2db_console.bat”を起動する。
  3. “h2db_init.bat”を起動する。
  4. H2コンソールで初期データを確認する。以下状態で「接続」を押下する。
    • 保存済設定:Generic H2 (Embedded)
    • 設定名:Generic H2 (Embedded)
    • ドライバクラス:org.h2.Driver
    • JDBC URL:jdbc:h2:~/terasoluna
    • ユーザ名:sa
    • パスワード:(入力なし)


      接続後、左側に“USERTABLE”テーブルが表示されていることを確認する。


  5. チュートリアルアプリケーションでDBへ接続するため、“h2db”フォルダ内の“h2.jar”ファイルを以下のフォルダにコピーする。
    • terasoluna-spring-rich-blank\webapps\WEB-INF\lib
    • C:\Program Files\Apache Software Foundation\Tomcat 5.5.xx\common\lib (xxはバージョン番号)
  6. “terasoluna-spring-rich-blank\webapps\META-INF\context.xml”を開き、JNDI用プロパティの設定を変更する。初期状態ではOracleの設定が有効になっているため、以下のようにOracleの設定を削除もしくはコメント化し、H2DBの設定を追加する。
    <!-- 
       - 「データベースがOracleの場合の設定」
       - 【記述書式】
       - driverClassName=[ドライバ名称]
       - username=[データベースログイン名称]
       - password=[データベースログインパスワード]
       - url=jdbc:oracle:thin:@[データベースサーバIPアドレス]:[ポート番号]:[インスタンス名]
       - 【設定例】
    -->
    <!--
    <Context>
      <Resource
         name="jdbc/TerasolunaSampleDataSource"
         type="javax.sql.DataSource"
         driverClassName="oracle.jdbc.OracleDriver"
         username="xxxxx"
         password="xxxxx"
         url="jdbc:oracle:thin:@xxx.xxx.xxx.xxx:1521:sampledb"
         maxIdle="2"
         maxWait="5000"
         maxActive="4"/>
    </Context>
    -->
    
    ・・・略・・・
    
    <!-- 
       - 「データベースがH2DBの場合の設定」
       - 【記述書式】
       - driverClassName=[ドライバ名称]
       - username=[データベースログイン名称]
       - password=[データベースログインパスワード]
       - url=jdbc:h2:tcp://[データベースサーバIPアドレス]:[ポート番号]/[データベース名称]
       - 【設定例】
    -->
    <Context>
      <Resource
         name="jdbc/TerasolunaSampleDataSource"
         type="javax.sql.DataSource"
         driverClassName="org.h2.Driver"
         username="sa"
         password=""
         url="jdbc:h2:tcp://localhost/~/terasoluna"
         maxIdle="2"
         maxWait="5000"
         maxActive="4"/>
    </Context>
    

次節:2.3 単純なロジック

Copyright (C) 2009 NTT DATA CORPORATION