エンタープライズ:特集 2003/10/06 18:00:00 更新


特集:第1回 フレームワーク「Struts」の基礎を知る (6/8)

Strutsのインストール

 Strutsは、JakartaプロジェクトのStruts公式サイトからダウンロードができる。またStrutsには、ソースファイル版とバイナリファイル版が用意されている。バイナリファイル版といっても、Javaのクラスファイル(実際にはwar形式ファイル)なので、OSや機種依存なく動作可能だ。このため、あえてソースファイル版を使わなければならない場面はほとんどない。バイナリファイル版のほうが手軽なので、ここでもこちらを利用することにする。

 Strutsはクラスライブラリであり、特別なインストール作業は必要ない。提供されているwar形式ファイルをJSPコンテナ/サーブレットコンテナから参照できる位置に配置するだけでよい。

One Point:
war形式ファイルは、Webアプリケーションの配布に利用されるアーカイブ形式ファイルだ。ファイル構造は、jar形式ファイルと同じであり、jarコマンドを使って展開できる。

Strutsのダウンロードと展開

 10月1日の原稿執筆時点での最新版は、バージョン1.1だ。「jakarta-struts-1.1.tar.gz1.1.tar.gz」ファイルとしてダウンロードできる。このファイルは、tarコマンドを使い次のように展開する。

$ tar xzvf jakarta-struts-1.1.tar.gz

 実行後は、tar実行階層にjakarta-struts-1.1/ディレクトリが作成され、その階層下に各種ファイルが展開される。

Strutsサンプルのインストール

 展開後にできる「webapps」サブディレクトリ内のwar形式ファイルがStrutsのサンプルファイルとなっている。まずは、このサンプルファイルをインストールし、Strutsが正しく動作するかを確かめるとよい。それには、これらのwar形式ファイルを、Tomcat4のwebappsディレクトリにコピーしよう。Tomcat4環境の構築は、特集「Tomcatで知るJSP/サーブレットの基礎」を参考にしてほしい。

# cp jakarta-struts-1.1/webapps/*.war /var/tomcat4/webapps/

 標準構成でTomcat4は、war形式ファイルを置くとそれを展開し、自動的にインストールする「自動デプロイ機能」が有効だ。そのため、war形式ファイルを配置したのちTomcat4を再起動すると、各war形式ファイルと同名のサブディレクトリができ、インストール(デプロイ)が完了する。

# /etc/rc.d/init.d/tomcat4 restart

 たとえば、/var/tomcat4/webapps/ディレクトリに配置したstruts-example.warファイルは、/var/tomcat4/webapps/struts-exampleディレクトリに展開される。この状態で、「http://サーバー名:8080/struts-example/」の内容を見てみよう。Fig.5に示すように、Strutsのサンプルが表示されるはずだ。

One Point:
Tomcatによる自動デプロイがうまくいかない場合には、手動で展開すればよい。この場合には、jarコマンドを用い次のように行う。 jar xf war形式ファイル または、Administraton Toolを使ってwar形式ファイルをWebブラウザからアップロードしてインストール(デプロイ)する方法もある。

fig05.gif

Fig.5■サンプルアプリケーション


 サンプルアプリケーションは、Web上でPOP3やIMAP4のメールサーバからメールを受信して読むことができる実用的なプログラムになっている。このサンプルプログラムを見れば、ログインの仕組みやユーザー認証、メールの受信などの操作を理解することができるだろう。

雛形プロジェクトからStrutsの挙動を理解する

 特集第2回目では、「オープンソースで作るJava+DB」の第2回目で作成した掲示板をStrutsで実装する予定だ。それに先立ち、ここではその実装に必要となる準備をしてみよう。

Webアプリケーションを構築するディレクトリの用意

 まずは、Webアプリケーションを構築するディレクトリを用意する。どのようなディレクトリでも構わないが、今回は/home/struts-keiji/と名付けるディレクトリに構築することにしよう。

# mkdir /home/struts-keiji
# chown tomcat4.tomcat4 /home/struts-keiji

 さらにこのディレクトリをTomcat4から参照できるよう、/etc/tomcat4/ディレクトリのserver.xmlファイルを書き換える。具体的には、server.xmlファイルの<Host>と</Host>で囲まれている個所に、次のContextエレメントを記述すればよい。

<Host …>

〜中略〜

<Context path="/struts-keiji" docBase="/home/struts-keiji" debug="0" reloadable="true"/>

</Host>

 追加後は、次のようにTomcat4を再起動する。

# /etc/rc.d/init.d/tomcat4 restart

 この設定によって、「http://サーバー名:8080/struts-keiji/」というURL指定で、/home/struts-keiji/ディレクトリに置かれた内容が参照できるようになった。

Strutsに必要なファイルの展開

 Strutsを使うためには、Strutsのライブラリや設定ファイルが幾つか必要だ。手作業でコピーしたり作成したりしてもよいが、Strutsを構成するファイル数は多いため、手作業で行うと間違いが生じる可能性が高い。そこでStrutsには、新規にWebアプリケーションを作る際に用いる雛形が用意されている。

 この雛形は、Strutsを展開したディレクトリのwebapps/サブディレクトリに含まれるstruts-blank.warというファイルだ。jarコマンドを使ってstruts-blank.warファイルを展開すると、Strutsを使ったWebアプリケーションのための雛形と、実行に必要なライブラリ群が作成される。

$ cd /home/struts-keiji
$ jar xf struts-blank.war

 展開後に作成されるディレクトリは、次の通りだ。

ディレクトリ名 内  容
META-INF MANIFEST.MFというファイルが作られる。このファイルはWebアプリケーションを配布する際に使われる
WEB-INF 実行に必要なタグライブラリのファイル、クラスファイルなどが置かれている。開発者は、ソースファイルをWEB-INF/src/java/ディレクトリに配置し、コンパイル後のクラスファイルをWEB-INF/classes/ディレクトリに保存する。そのほか必要なライブラリがあれば(たとえばJDBCのライブラリなど)、WEB-INF/lib/ディレクトリに置く
index.jsp サンプルのトップページファイル
pages Webページを構成するJSPファイル群を置く階層。標準でWelcome.jspというファイルが格納されている

 struts-blank.warファイルを展開した段階で、必要最低限の設定は完了している。雛形ながら、実行可能な状態なのだ。Webブラウザで参照すると、次に挙げるFig.6の画面が表示確認できる。

fig06.gif

Fig.6■Struts雛形の実行画面


前のページ | 1 2 3 4 5 6 7 8 | 次のページ

[大澤文孝,ITmedia]