Webアプリ開発者必見!Webコンテナの代表格「Tomcat」とは何か | 千葉で集客ホームページ制作はティーエスフォート
コラム

Webアプリ開発者必見!Webコンテナの代表格「Tomcat」とは何か

Webアプリ開発者必見!Webコンテナの代表格「Tomcat」とは何か

今回の記事では、動的なWebサイトを制作するにあたって便利な、Webコンテナである「Tomcat」をご紹介します。

1.Webコンテナ/サーブレットとは何か

Javaで作られたWebアプリケーションを動かすためには、プログラムを解析して処理を行う実行環境が必要です。

Webアプリを動作させるための実行環境がJ2EEです。J2EEはJ2EEを組み込んだWebコンテナとして提供されています。

サーブレットは単体では動作せず、Webサーバーからの処理要求を受け付けてサーブレットの記述に従って実際の処理を行うソフトウェアが必要となり、これをWebコンテナと言います。

検索エンジンなどのように入力された値などをもとに要求された処理を実行して結果をブラウザに表示するなどの動的処理を行います。

2.Tomcatとは何か

Tomcatとは、Javaサーブレットを動かすために必要なソフトウェアです。

Apache Software Foundationが開発・公開している、JavaサーブレットやJSPの実行環境となるソフトウェアとも言えます。

いわゆるサーブレットコンテナあるいはWebコンテナと呼ばれるサーバソフトウェアの一つで、オープンソースソフトウェアとして公開されています。

3.Tomcatのメリット・デメリット

メリット
大きなメリットはTomcatを使用している開発者が多いことであり、開発プロジェクトにエンジニア集めやすいです。

デメリット
オープンソースであるため、自らでバージョン管理をしっかり行わなければなりません。また、商用のソフトウェアと比べると本質的な理解が必要なソフトウェアでもあります。

4.Tomcatのインストールと動作確認

インストールの流れと使用できるか確認する方法を記述します。

インストール前提条件

以下の環境、バージョンを前提として説明します。
Windows10 64bit
Java SE Runtime Environment 9.0.4(JRE)
Tomcat 9.0.6
Javaランタイムのインストール
JREをダウンロードし、インストールします。


インストール方法

Tomcatをダウンロードし、ダウンロードしたzipファイルを適当なフォルダ、Windowsマシンであれば例えばCドライブ直下に展開します。

コマンドプロンプトを開き、C:¥tomcat¥binに移動します。

startup.batと入力し、Enterを押してTomcatを起動します。


Tomcatの動作確認

Webブラウザで「http://127.0.0.1:8080」にアクセスします。
Tomcatの画面がWebブラウザ上に表示されればインストールと起動は成功です。


Tomcatのルートディレクトリ

各ディレクトリに存在するファイル を説明します。
bin:実行ファイル
conf:設定ファイル
lib:APIファイル
logs:ログファイル
temp:一時ファイル
webapps:プログラムファイル
work:作業ファイル

この中で最も重要なのはwebappsディレクトリであり、ここに開発したプログラムを作ります。


Tomcatサンプルディレクトリの構造

examplesがサンプルディレクトリです。
この中にWEB-INFディレクトリがあり、特別な意味を持ちます。

WEB-INFディレクトリの中で重要なのはclasses, web.xml, libです。

classes:プログラムの配置場所
web.xml:設定ファイル
lib:プロジェクトが使うAPIの配置場所

まずは、上記の3つを意識するようにしましょう。

5.Tomcatの脆弱性

警察庁は2020年3月25日、「Apache Tomcat の脆弱性(CVE-2020-1938)を標的としたアクセスの観測等について」とする注意喚起を公開しました。

Apache Tomcatには、リモートの攻撃者によって情報の窃取や任意のコードを実行されるなどの影響を受ける脆弱性の情報が、2月24日にApache Software Foundationより公開されていました。

Apache Tomcatのユーザーはバージョンを確認し、脆弱性のあるバージョンの場合はパッチを適用するなどの対策を実施するように注意が必要です。

脆弱性のあるバージョンは次の通りです。

Apache Tomcat 9.0.0.M1 から 9.0.30
Apache Tomcat 8.5.0 から 8.5.50
Apache Tomcat 7.0.0 から 7.0.99

まとめ

今回のコラムでは、Webコンテナの代表格、Tomcatについてご紹介しました。Tomcatを使うのにあたっては、Webコンテナ・サーブレットとは何か、そしてお互いの関係を理解する必要があります。

Windowsマシンにインストールするときの方法と、ディレクトリ構造をご紹介しました。

WebサーバーであるApacheと連動させて使うことが多いので、脆弱性についての情報はチェックして対策をする必要があります。

関連記事

ページ先頭へ