TomcatのWebアプリケーションのフォルダ構成

TomcatのWebアプリケーションのフォルダ構成についてです。Tomcatのバージョンは 9.0.x のものです。OSはlinuxを想定しています。

Tomcatをインストールすると、その配下には bin、conf、lib、logs、webapps などのフォルダが配置されます。conf配下の server.xml は tomcat全体の設定をするものです。logs配下の catalina.out にはtomcat起動時、終了時のログが出力されます。Webアプリケーションは webapps配下になります。以下はwebapps配下にtoolsというWebアプリケーションを配置した例です。

META-INF配下の context.xml とWEB-INF配下の web.xml について記載しておきます。

context.xml にはWebアプリケーションの設定を記載します。自動リロードの設定やデータベースの設定をする際に使います。web.xml はWebアプリケーションの動作設定を記載するファイルです。サーブレットのURLや初期化パラメータ、フィルターなどの設定を行います。META-INF、および、WEB-INFのフォルダはブラウザからURLを指定して開くことはできません。ユーザーにはこの配下のファイルを隠蔽します。

Webアプリケーション自体のソースファイルは src配下、クラスファイルはclasses配下に配置します。この例ではsample01はパッケージを表しており、他のパッケージ(例えば、sample02、sample03)を追加することができます。その際はフォルダを追加します。

クラスファイルのコンパイルですが、独自に compile.sh というものを用意しました。src配下にソースファイルを配置して compile.sh を実行すると(実行権限をつけてください)、classesフォルダにクラスファイルを生成します。

以下が compile.sh の中身です。サーブレットをコンパイルするために servlet-api.jar へクラスパスを通しています。


#!/bin/bash
export CLASSPATH="../../../../lib/servlet-api.jar"
javac -encoding utf-8 -d ../classes -sourcepath ./ $1

Tool1.java をコンパイルする例です。srcファイル配下で実行してください。

$ ./compile.sh sample01/Tool1.java

実行するとclassesフォルダ配下にsapmle01フォルダ、および、 Tool1.classが自動生成されます。

クラスファイルとURLとの紐づけですが、WebServletアノテーションで設定するか、web.xml にURLを記載するかの方法があります。Tool1.java の中で、@WebServlet(urlPatterns={“/sample01/tool”}) と記載した場合、Tool1.class へのブラウザからのアクセスは以下のようになります。

http://localhost:8080/tools/sample01/tool

WEB-INF配下の libフォルダにはサーブレットが必要なjarファイルを配置しておきます。データベースに接続する際にに必要なJDBCドライバのjarファイルなどです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です