- 追加された行はこの色です。
- 削除された行はこの色です。
←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作成