トップ 差分 一覧 Farm ソース 検索 ヘルプ PDF RSS ログイン

オブジェクト指向プログラミング(C317-2 2006/01/11)

オブジェクト指向プログラミング 第19回 2006/01/11

CMPでデータベースにアクセスするプログラムを作る。

  1. 新規J2EEプロジェクトを作成
  2. EnitiyBean?の作成
  3. XDocletの設定
  4. リモート、ホームインターフェースの生成
  5. JSPの作成
  6. パッケージングの設定
  7. パッケージング
  8. デプロイメント

 XDocletの設定

プロジェクトを選択し、右クリックメニューからプロパティを選択 XDoclet Configurationsを選択する。次の2つの設定を作る。

設定名EJB

Addボタンをクリックし、EJB用設定名EJBを入力これはEntityBean?等を基にインターフェースXMLファイルを自動生成するための設定。

EJBにはejbdocletを追加する。

  • ejbdoclet
    • destDir = src
    • ejbSpec = 2.0
    • deploymentdescriptor
      • destDir = src/META-INF
    • fileset
      • dir = src
      • excludesのチェックを外す
      • include = **/*Bean.java
    • homeinterface
    • jboss
      • Version=4.0
      • destDir = src/META-INF
    • packageSubstitution
      • package=ejb
      • substituteWith=interfaces
    • remoteinterface

 設定名WEB

サーブレット等の設定webdocletを追加する。

  • webdoclet
    • destDir = src/WEB-INF
    • deploymentdescriptior
      • Servletspec = 2.4
    • fileset
      • dir = src
      • excludesを外す
      • includes = **/*Servlet.java
    • jbosswebxml
      • Version = 4.0

 XDocletの設定に基づくファイル自動生成

Xdocletの設定に従ってファイルを自動生成する。

プロジェクトを選択、右クリックメニューからRun XDocletを選択

 HTML、JSP用フォルダ作成

フォルダwarをsrcと同じレベルに作る。ここに、アプリケーションで使用するHTML、JSPのファイルを置く

 パッケージ用の設定

ここまでで作成、自動生成したファイルをまとめること。

appication.xmlの作成

src/META-INFを右クリック 新規→その他→JBOSS-IDE→Descriptions→EAR 1.4 Deployment Descriptor

次のリストのように自分のプログラムに合わせて名前を入力する。

項目
display-name アプリケーションの名前
ejb EJBのjarファイル名
web-uri WEB用アーカイブ名(war)
context-root WEB用アーカイブから拡張子をのぞいた名前
<?xml version="1.0" encoding="UTF-8"?>
<application version="1.4"
  xmlns="http://java.sun.com/xml/ns/j2ee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
  http://java.sun.com/xml/ns/j2ee/application_1_4.xsd">
  <display-name>MemberApp</display-name>
  <module>
    <ejb>Member.jar</ejb>
  </module>
  <module>
    <web>
      <web-uri>MemberWeb.war</web-uri>
      <context-root>/MemberWeb</context-root>
    </web>
  </module>
</application>

 パッケージファイルの設定

パッケージ生成に必要な設定。次の4つのアーカイブを作る。

EJB関係

ファイル名:Member.jar

種類 prefix include
フォルダ /プロジェクト/bin なし test/ejb/*.class、test/interfaces/*.class
ファイル /プロジェクト/src/META-INF/ejb-jar.xml META-INF
ファイル /プロジェクト/src/META-INF/jboss.xml META-INF
ファイル /プロジェクト/src/META-INF/jbosscmp-jdbc.xm META-INF

EJBクライアント

ファイル名:MemberClient?.jar
種類 prefix include
フォルダ /プロジェクト/bin test/interfaces/*.class

WEBコンポーネント

ファイル名:MemberWeb?.war
種類 prefix include
フォルダ /プロジェクト/bin WEB-INF/classes test/web/*.class
/プロジェクト/war *.jsp、*.html
/プロジェクト/src/WEB-INF WEB-INF
ファイル /プロジェクト/MemberClient?.jar WEB-INF/lib
MemberClient?.jarは入力する。

エンタープライズアプリケーション

ファイル名:MemberApp?.ear
種類 prefix
ファイル /プロジェクト/src/META-INF/application.xml META-INF
/プロジェクト/Member.jar
/プロジェクト/MemberWeb?.war

Member.jar、MemberWeb?.warは入力する。

 XMLファイルの修正

今回の演習では次の2つのXMLファイルを修正する。

web.xml

次の文を追加。

<ejb-ref >
  <description><![CDATA[Reference to the TestDate EJB]]></description>
  <ejb-ref-name>ejb/Member</ejb-ref-name>
  <ejb-ref-type>Session</ejb-ref-type>
  <home>test.interfaces.MemberHome</home>
  <remote>test.interfaces.Member</remote> 
  <ejb-link>Member</ejb-link>
</ejb-ref> 

jboss-web.xml

次の文を追加

<ejb-ref>
  <ejb-ref-name>ejb/Member</ejb-ref-name>
  <jndi-name>ejb/Member</jndi-name>
</ejb-ref> 

 パッケージング

プロジェクトを選択し、右クリックメニューからRun Packagingを選択し、実行

 デプロイメント

MemberApp?.earをデプロイメントする。

  1. ファイルを右クリック
  2. Deploymentを選択
  3. 初回はDeploy toを選択し、ターゲットを選択する。
  4. 2回目以降はRedeployを選択

デプロイメントに成功すると次のようなメッセージがJBOSSを実行しているコンソールに表示される。

Started J2EE application: file:/usr/local/jboss-4.0.3SP1/server/default/deploy/MemberApp.ear

これでこのEJBアプリケーションが利用できる。

 動作確認

ブラウザを使いデプロイメントしたアプリケーションの動作を確認する。次のURLを開く

http://localhost:8080/MemberWeb

[オブジェクト指向プログラミング(C317-2)]