[技術資料室] [Java] [J2EE]
[Webアプリケーション] [TomcatでSSL] [mod_jk2] [mod_webapp] [mod_proxy_ajp]

Apache Tomcatと戯れる

../tomcat.html からこっちへ移転しようかどうかとしているところ

もくじ

概要

Tomcatは何をするものか? Servlet / JSP など、JavaのWebサーバ系システムを実行する環境で、J2EEの中ではWebアプリケーション系の環境です。Apacheの1プロジェクトとして開発されていますが、Servlet/JSPのリファレンス環境としても作られており、Tomcatの動作を参考にServletやJSPの仕様が固められ、また仕様の実装実験的に使われたり、それを基にして別のServlet/JSP実行環境も作られていくのですね。

参考

構造

インストールする前に、まずはTomcatの構造を知っておいてから計画的に設定しましょう。

Tomcatの構造

というわけでTomcatのファイル構造をみてみましょう。大きく2つに分けて使うことができます。Webサーバと連携できますが、そこのところはここではとりあえず不要なので省略しています。

という感じで、あとは$CATALINA_TMPDIRと$JAVA_HOME が環境変数として指定できるかな。

$CATALINA_HOME はTomcatの実行ファイルや共有されるライブラリなどがあります。Tomcatからは更新されることもないでしょう。 $CATALINA_BASE は複数のTomcat環境を実行したいときに分けるために設定できますが、指定しなければ$CATALINA_HOMEと同じディレクトリが指定されます。

Linux等々では $CATALINA_HOME を /usr/java/tomcat/ などに置き、 $CATALINA_BASE を /var/ 系や 個人のディレクトリなどに置きましょう。配布されるアーカイブでは特に分けられているわけではありません。Tomcatのバージョンをあげる場合にも基本的に $CATALINA_HOME の更新だけでいいはずです。 conf/ のファイルの違いに注意する必要はあるかもしれません。

Webアプリケーションの構造

webapp/ に配備されるアプリケーションの構造も、とりあえず知っておきましょう。これはインストール前でなくてもいいですが。

基本はこんな感じです。

詳細は [Webアプリケーション]の方で。

こいつをwebapp/の下に warファイル形式(拡張子がwarのjarファイル)で入れてやると自動的に解凍され、warのファイル名と同じ名前のディレクトリが作られ使えたりします。warを消すとディレクトリも消えます。ROOT/ ディレクトリは特殊で、サーバのルート部分に配備されるWebアプリケーションになります。その他のディレクトリはそのままのディレクトリ名としてアクセスできます。

インストール編

では、インストール場所が決まったら、Tomcatを入れてみましょうか?

ClassLoader

ClassLoader とはclassファイルを読んでくるためのJavaの機能です。これによってclassをインターネットから読み込んで実行できたりファイルから読み込んで実行できたりします。

で、何の関係があるのかというと、Tomcatでは何カ所かに分けてclassやjar が配置されます。どのような順番でclassを読んできてどのclassが実行されるのかというのはクラスライブラリを入れる場合などに重要なのです。JDBCドライバなどなどを使う場合に参考にしましょう。

参考

ツール

admin ツールとmanager ツールは、なぜか使わない人も多いようですが、どしどし使いましょう。adminツールは別に配布されていますが、入れるのは簡単です。

server.xml などは基本的にadminツールを使って編集できます。conf/tomcat-users.xml に管理用のユーザを追加するだけで使えるのですよ。

[しいしせねっと]