←TopPage>[[eclipseで開発]]>[[J2EEしてみんとす>eclipseで開発/J2EE]]>WAR作成
#navi([[eclipseで開発/J2EE]])

*WAR作成
#contents
**はじめに

ここでは、eclipseでLombozを利用したJ2EEアプリケションの開発で、
WARの作成し、delpoyし、ブラウザでアクセスしてみましょう。

**WARの作成
***J2EEプロジェクトの作成
J2EEプロジェクトは、EJBの入っているのと同じJ2EEプロジェクトを使います。


***WARを作成
 「ファイル」→「新規」→ 「Lomboz Web Container」
 「ファイル」→「新規」→ 「Lomboz J2EE Module」
#ref(WAR1.png)

今回はWARの作成なので、Web Moduleにを追加します。

Web Moduleタグで、「Add...」ボタンを押す。
#ref(WAR2.png)

Web Moduleの名称を聞かれるので「myweb」と入力
#ref(WAR3.png)

「サーバの設定が行われていない」と警告が出るので、「Target Server」タグで、「J2EE RI 1.3.1」を追加する。
#ref(WAR4.png)

最後に「Finish」ボタンを押して終了
以上でWeb Moduleができました。

***ServletやHelperクラスをWARの中に入れる
Lomboz 2.1ではserlvetが入ったWARを作ることができません。
WEB-INF/build.xmlとbuild.propertiesをXDocletのサンプルをベースに作った。
#ref(build.xml)
#ref(build.properties)
に置き換えるとできるようになります。

WEB-INF/build.propertiesには、すでに記述済みのWindows用とLinux用のサンプルを参考に
eclipse.homeの値をeclipseのインストールしてあるディレクトリ、serverhomeをJ2EE SDK 1.3.1(RI)をインストールしてあるディレクトリに設定して利用してください。

今回の例では、[[../EJB-Client作成]]で、Javaアプリケーション単体として利用したSLSBclientをJSPからEJBを呼び出すためのヘルパークラスとして利用しますので、これらのファイルの置き換えが必要です。


***SLSBclientの変更
[[../EJB-Client作成]]では、出力先がコンソールであるSystem.out固定だったSLSBclientを、JSP/Servletから利用するために出力先を可変にできるようにします。
これは、JSP/Servletの出力にしてブラウザーで動作が確認できるようにするためです。

クライアントプログラムの
src/test/SLSBclient.javaに以下の変更を加えます。

importを追加
 import java.io.PrintWriter; //for Servlet
次に、出力先を記録するフィールドを用意
 private PrintWriter out = new PrintWriter(System.out); //for Servlet
出力先設定のアクセスメソッドを追加
 public void setOut(PrintWriter out) {
     this.out = out;
 }
出力先をSystem.outから、outに変える
 System.out.println("Return=" + myBean.hello(1) );
 ↓
 out.println("Return=" + myBean.hello(1) );

以下のような感じになります。
#ref(WAR5.png)

***index.jspの追加
さて、本題のJSPの編集です。
「SLSBclientを生成し、出力先を設定して、テストメソッドを呼び出す」
ようにするため、index.jspに以下のコードを追加します。
 <%
 test.SLSBclient test = new test.SLSBclient();
 test.setOut(response.getWriter());
 test.testBean();
 %>
このような感じになります。
#ref(WAR6.png)


**J2EE RIでLambozのWARを動かす方法

***WARを作る
eclipse LambozでWARのdeployを行います。
EJBの時のように、JBOSSディレクトリを相対パスで示していると
WEB-INF/jboss-3.0.3/joss/deploy/<myweb名>.war
が出来ます。
#ref(WAR7.png)
deploy中には、以下のダイアログが表示されます。
#ref(WAR8.png)

ここでエラーが無ければ、EJBの時のように、myweb/myweb.warが出来ます。
#ref(WAR9.png)

完成したWARのサンプルです。
#ref(myweb.war)

***deploy
上でできたWARファイルを、J2EE RI deploytoolで、J2EEアプリケーションの
中に取り込みます。

コンテキストルートを設定します。(例: MyJ2EE )

J2EE SDK 1.3.1(RIの事)で、設定済みのEARサンプルです。
#ref(J2EEtest.ear)

***動作確認
ブラウザで、
http://localhost:8000/MyJ2EE
とするとページが見えます。

**ServletをWARの中に入れる
Lomboz 2.1ではserlvetが入ったWARを作ることができません。
WEB-INF/build.xmlをXDocletのサンプルをベースに作った。
#attach(noform)
に置き換えるとできるようになります。
WEB-INF/build.propertyにeclipse.homeを足して値をeclipseのインストールしてあるディレクトリにして利用してください。
SLSBのテストプログラムのリターンはnullなので、表示は以下のように、寂しいですが…
 Return=null 
 Welcome

*まだ書きかけだよ

*エピローグ

一応、ここまでで「eclipseによるJ2EEの開発手順」の説明を終わります。
あとは、「各種リソースを使おう!」ということで、「 [[../J2EEでJavaMail]] 」などもあります。

まとめとして、eclipseのプロジェクト全体のサンプルを添付します。
#ref(J2EEtest030728.zip)
このZIPファイルは、eclipseにインポート可能です。ただし、J2EEとして動かすためにはLombozプラグインが必要です。

次は、「各種リソースを使おう!」ということで、「 [[../J2EEでJavaMail]] 」などもあります。

[[←もくじに戻る>../#index]]

#navi([[eclipseで開発/J2EE]])
←TopPage>[[eclipseで開発]]>[[J2EEみんとす>eclipseで開発/J2EE]]>WAR作成


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS