Apache Tomcat(アパッチトムキャット)とは?
目次
1. Apache Tomcatとは?
Apache Tomcat(アパッチ トムキャット) とは、JavaのWebアプリケーションを動かすためのサーバーソフトウェア(サーブレットコンテナ) です。
- サーブレットやJSP(Java Server Pages)を動かすためのWebサーバー。
- Javaで作られたWebアプリケーションは、そのままでは動きませんが、Tomcatがアプリを動かす環境を提供します。
- Webブラウザからのリクエスト(HTTPリクエスト)を受け取り、サーブレットやJSPを実行し、結果をブラウザに返す仕組みです。
イメージ図
[Webブラウザ] → リクエスト (URLの入力) → [Tomcat] → [JSP/Servletを実行] → [HTMLをブラウザに返す]
2. Tomcatの役割と特徴
| 役割 | 詳細 |
|---|---|
| Webサーバー | HTTP通信を受け取り、ブラウザにHTMLを返す |
| サーブレットコンテナ | サーブレットやJSPを実行する環境 |
| アプリケーションサーバー | 簡単なアプリケーションの動作環境を提供 |
| セッション管理 | ユーザーごとのセッションを管理 |
| Webアプリのデプロイ | Javaアプリをデプロイして実行する |
ポイント
- サーブレット/JSPが動くのはTomcatのおかげ。
- Tomcatは、Webサーバーの機能も持つアプリケーションサーバーの一部です。
3. なぜTomcatが必要なのか?
- JSP/ServletはTomcatがないと動かない
- JSPやサーブレットは「HTML + Javaの機能」ですが、HTMLとは異なりWebブラウザが直接解釈できません。
- Tomcatが、JSP/ServletをHTMLやJSONに変換して返すことで、Webアプリが動作します。
- Webアプリケーションの実行環境が必要
- **Javaアプリは「.classファイル(バイトコード)」**として動作しますが、ブラウザはこれを理解できません。
- TomcatがこれをHTML、JSON、APIレスポンスに変換してブラウザに返します。
- Java EEの一部機能が使える
- セッション管理や**JNDI(データベース接続の管理)**が利用可能。
4. Tomcatのインストール手順
1. ダウンロード
- 公式サイトからTomcatをダウンロードします。
URL: https://tomcat.apache.org/
2. 解凍
- ダウンロードしたZIPファイルを解凍します。
3. 環境変数の設定(必要な場合のみ)
- Windows:
CATALINA_HOMEに Tomcat の解凍先を設定。 - Linux:
.bashrcにexport CATALINA_HOME=/path/to/tomcatを追加。
4. Tomcatの起動
- Windows:
bin/startup.batを実行。 - Linux / macOS:
sh bin/startup.shを実行。
5. 動作確認
- ブラウザでhttp://localhost:8080 にアクセスし、Tomcatの管理画面が表示されれば成功です。
5. Tomcatの基本的な操作
起動方法
| OS | コマンド |
|---|---|
| Windows | bin/startup.bat |
| Linux/macOS | sh bin/startup.sh |
停止方法
| OS | コマンド |
|---|---|
| Windows | bin/shutdown.bat |
| Linux/macOS | sh bin/shutdown.sh |
6. Tomcatのファイル構成
| ディレクトリ名 | 説明 |
|---|---|
| bin | Tomcatの起動/停止スクリプト (startup.bat, shutdown.bat) |
| conf | Tomcatの設定ファイル (server.xml, web.xml) |
| lib | Tomcatで動作するためのライブラリ (JARファイル) |
| logs | Tomcatのログファイル (エラーやアクセスログ) |
| webapps | アプリケーションのデプロイ先 (JSPやWARファイルを配置) |
| work | JSPがサーブレットに変換された一時ファイルが保存される |
ポイント
- webapps フォルダにJSPファイルやWARファイルを配置すると、Tomcatは自動でアプリをデプロイします。
7. Tomcatの設定ファイル
1. server.xml
- Tomcatのメインの設定ファイルです。
- ポートの設定やHTTPの動作を管理します。
<Connector port="9090" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
2. web.xml
- JSPやサーブレットのURLマッピングを指定する設定ファイルです。
- Webアプリごとに異なる設定が必要です。
Servletのマッピング例
<servlet>
<servlet-name>UserServlet</servlet-name>
<servlet-class>controller.UserServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>UserServlet</servlet-name>
<url-pattern>/user</url-pattern>
</servlet-mapping>
8. よく使うTomcatのコマンド
| コマンド | 説明 |
|---|---|
bin/startup.bat | Tomcatを起動する (Windows) |
sh bin/startup.sh | Tomcatを起動する (Linux, macOS) |
bin/shutdown.bat | Tomcatを停止する (Windows) |
sh bin/shutdown.sh | Tomcatを停止する (Linux, macOS) |
catalina.bat run | コンソールモードでTomcatを実行 |
9. Tomcatの注意点
| 注意点 | 説明 |
|---|---|
| ポート番号の競合 | 8080ポートが他のアプリと競合することがあります。server.xmlで変更できます。 |
| メモリの設定 | Tomcatのヒープメモリの制限を超えると、OutOfMemoryErrorが発生します。setenv.sh で設定できます。 |
| デプロイの確認 | webappsに配置したファイルがデプロイされているか、localhost:8080/manager で確認します。 |
| アクセスログの確認 | logs/catalina.out にエラーが記録されます。起動しないときはここを確認しましょう。 |
10. まとめ
| 機能 | 説明 |
|---|---|
| Tomcatの役割 | JSPやサーブレットを動かすWebサーバー |
| メインのファイル | server.xml, web.xml, catalina.sh |
| 起動コマンド | sh bin/startup.sh (Linux) / bin/startup.bat (Windows) |
| デプロイ方法 | webappsにWARファイルを配置する |

2009年那覇でホームレスになるも沖縄の方々に助けられ、2010年からNPOで地域密着で困窮支援。2016-2024年まで株式会社FM那覇代表取締役。沖縄の支援団体情報ポータルサイト「カケハシオキナワ」設立運営。防災士。コンサル・エンジニア。


