Webアプリケーションのディレクトリ配置構成を知る
前述したように、J2EEではWebアプリケーションを構成するファイル群を1つのディレクトリにまとめる必要がある。Webアプリケーションのディレクトリの階層、およびディレクトリ名やファイル名は、J2EE仕様で定められており画像2に示す構成でなければならない。
画像2■Webアプリケーションの階層構成
TIPS
画像2に示したファイルやサブディレクトリは、すべてを用意しなければ動作しないというわけではない。必要のないファイルやサブディレクトリは、用意しなくても構わない。 |
Webアプリケーションの階層
アプリケーションのいちばん上の階層に当たるルートには、JSPファイルや、その他静的なコンテンツ(HTMLファイルや画像ファイルなど)が配置されている必要がある。また、必要に応じてはサブディレクトリを作り、その中に配置しても構わない。
WEB-INF/web.xmlファイル
WEB-INF/web.xmlファイルは、Webアプリケーションに対する設定ファイルである。「配置ディスクリプタ(deployment descriptor)」と呼ばれる。サーブレットのURLマッピングを変更したり、クライアントとサーバ間を流れるデータをフィルタリング設定、セキュリティに関する設定、また利用するEJBに関する設定を行えるものだ。
このファイルは、「/etc/tomcat4/」ディレクトリ下の「web.xml」ファイル内容を上書きする。この「web.xml」ファイルには、Webアプリケーションの標準動作方法が記述されている。このため、取りあえず標準動作で構わないならば、特に「web.xml」ファイルを用意する必要はない。
WEB-INF/classes/サブディレクトリ
ここにはコンパイル済みのJavaプログラムを配置する。サーブレットやJavaBeansなどはここに配置する必要がある。
WEB-INF/lib/サブディレクトリ
このサブディレクトリ下には、プログラムから利用するライブラリなどのjar形式ファイルを置いておく。
TIPS
WEB-INFサブディレクトリに配置したファイルは、クライアントから直接参照されることはない。 |
TIPS
実際にディレクトリを構成する以外にも方法が用意されている。画像2に示した構造のディレクトリをJ2SE SDKに含まれるjarコマンドを使い、1つのファイルにアーカイブして拡張子を.warとして利用することも可能だ。 |
画像2に示したように、サーブレットを構成するファイルは、WEB-INF/classesサブディレクトリに配置しなければならない。JSPを構成するファイルは、WEB-INFサブディレクトリ以外の、どのディレクトリに配置しても構わない。
Webアプリケーション用のディレクトリの準備
Webアプリケーションを構築する場合にはまず、画像2に示した構成の適当なディレクトリを作成する。
以下、JSPおよびサーブレットのサンプルを作るために格納するためのディレクトリを用意しよう。どの場所にディレクトリを用意しても構わないが、ここでは「/var/tomcat4/webapps/」ディレクトリ下に「sample」というサブディレクトリを作成することにした。
# mkdir /var/tomcat4/webapps/sample
このディレクトリは、Tomcat(ユーザー権)から可能なアクセス権でなければならない。前述したように、標準の設定ファイル(tomcat4.conf)内では、tomcat4ユーザー/tomcat4グループで動作するようになっている。そこで、次のように指定して作成したディレクトリの所有者をtomcat4ユーザー/tomcat4グループに変更しておく必要がある。
# chown tomcat4.tomcat4 /var/tomcat4/webapps/sample
|