エンタープライズ:特集 2002/12/09 18:00:00 更新

Tomcatで知るJSP/サーブレットの基礎
第3回:Tomcatで動かすWebアプリケーションの仕組み (2/6)

Webアプリケーションのディレクトリ配置構成を知る

 前述したように、J2EEではWebアプリケーションを構成するファイル群を1つのディレクトリにまとめる必要がある。Webアプリケーションのディレクトリの階層、およびディレクトリ名やファイル名は、J2EE仕様で定められており画像2に示す構成でなければならない。

fig6
画像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

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

[大澤文孝,ITmedia]