製品プロフィール

Apache Tomcat

Apache Software Foundation / 1999年登場

Java サーブレット/JSP を動かす定番のアプリケーションサーバ(サーブレットコンテナ)。Java Web アプリの実行環境として長年広く使われる。

3つの要点
TL;DR
  1. Java サーブレット/JSP を動かすアプリサーバ。
  2. 軽量なサーブレットコンテナの定番。
  3. Java Web アプリの実行環境ならまず Tomcat。

基本情報

仕様と立ち位置

公開規模・コミュニティ・成熟度を比較できる指標です。GitHub / npm は2026年6月7日時点のスナップショットです。

Apache Tomcat のロゴ
製品・技術の概要Apache TomcatJava サーブレット/JSP を動かす定番のアプリケーションサーバ(サーブレットコンテナ)。Java Web アプリの実行環境として長年広く使われる。
GitHub Stars
8.2K公式ミラー / 2026-06-07時点
Forks
5.4KGitHub / コミュニティ規模
公開から
約27年1999年リリース
主要用途
3領域Servlet / Spring / 社内Java
最大の強み
Java サーブレット/JSP の標準実装軽量で扱いやすい
代表的な用途
Java Web アプリの実行Spring Boot の組込みサーバ(派生) / 社内 Java システム
種別
Java サーブレットコンテナ
ベース
Java
登場
1999年
作者
Apache Software Foundation

選定ガイド

選定ポイント

採用する理由と、事前に受け入れるべきトレードオフを分けて確認します。

採用に向く条件

選ぶ理由

  1. Java サーブレット/JSP の標準実装
  2. 軽量で扱いやすい
  3. 長年の実績と豊富な情報

事前に確認する条件

考慮すべき点

  1. 静的配信は Nginx 等に劣る(前段に置く構成が一般的)
  2. フル Java EE 機能は別途
  3. チューニングに知識が要る

詳しい解説

もっと詳しく

どんなサーバーか

Apache Tomcat(トムキャット)は、Apache Software Foundation が開発するアプリケーションサーバーです。1999 年に登場し、Java で書かれています。Java のサーブレット/JSP を動かす定番として、長年使われてきました。

横にスクロール

Tomcatの前段プロキシとTLS境界からConnectorへ入り、Engine・Host・Contextで対象アプリを決め、Filter列とServletからアプリ処理・データアクセスへ進み、応答がFilterの後処理とConnectorを通って戻る経路と、スレッドプール・待ち行列の容量境界
Tomcatは要求をFilter・Servletへ渡し、応答をFilter後処理とConnectorへ戻します。待ち行列・スレッド・下流接続を別々に測ります。

正確には「サーブレットコンテナ」と呼ばれ、Java で書かれた Web アプリの実行環境を担います。

仕組み・アーキテクチャ

Tomcat は、Java の サーブレット(リクエストを処理する Java プログラム)JSP(HTML に Java を埋め込むテンプレート) の仕様(Jakarta Servlet / 旧 Java Servlet)を実装したコンテナです。内部は階層構造で構成されます。

  • コネクタ(Connector): HTTP/1.1・HTTP/2 や AJP を受け取る入口。実装は NIO ベースで、スレッドプールが多数の接続を捌く。
  • コンテナ(Engine → Host → Context → Wrapper): 仮想ホスト、アプリ(コンテキスト)、個々のサーブレットへとリクエストを振り分ける階層。
  • デプロイ: アプリを war 形式で配置すると、Tomcat が展開して実行する。

フル機能の Jakarta EE(旧 Java EE)サーバー(WildFly 等)に比べ軽量で、サーブレット/JSP に必要な範囲に絞られているため起動も速く、扱いやすいのが特徴です。Spring Boot などのフレームワークは、この Tomcat を組み込み(embedded)で同梱し、単体の実行可能 JAR として動かす使い方も広く普及しています。

得意・不得意

  • Java の Web アプリ(サーブレット/JSP)を動かす用途で安定して使える。
  • 軽量で扱いやすく、導入事例・トラブル情報が豊富。組み込み利用にも対応。
  • 反面、静的ファイルの配信は Nginx 等の専用サーバーに劣る
  • 同時接続数や JVM のヒープ・スレッドプールのチューニングに知識が要る。

位置づけ(他との違い)

純粋な Web サーバーというより、アプリのロジックを実行する層に位置づけられます。

観点TomcatNginx / Apache
役割Java アプリ(サーブレット/JSP)の実行配信・振り分け・TLS 終端
扱う処理動的(アプリロジック)静的配信+前段プロキシ
対象Java/Jakarta EE 系言語非依存
典型構成後段(アプリ層)前段(入口)

実運用では、前段に Nginx を置いて静的配信や TLS 終端を任せ、動的処理だけを Tomcat に振り分ける構成が一般的です。

運用上の注意点

JVM チューニングとセキュリティ

安定運用には、maxThreads 等のスレッドプールと JVM のヒープサイズ(-Xmx)を負荷に合わせて調整することが重要です。また、管理用の Manager アプリや既定アカウントは本番では無効化・制限し、不要なコネクタを閉じるなど攻撃面を絞ります。脆弱性報告に追従したバージョン更新も欠かせません。

総じて Tomcat は、Java Web アプリの実行基盤として軽量・安定・実績豊富で、フレームワークの土台(組み込み含む)としても広く使われる定番のサーブレットコンテナです。

実装・運用の視点

Apache Tomcatを実務で読む

TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。

解決すること

Java Web アプリの実行

比較で見る軸

GitHub Stars: 8.2K / Forks: 5.4K / 公開から: 約27年

導入後に効く点

軽量で扱いやすい

先に潰すリスク

静的配信は Nginx 等に劣る(前段に置く構成が一般的)

数字・仕様の読み方
GitHub Stars
8.2K
公式ミラー / 2026-06-07時点
Forks
5.4K
GitHub / コミュニティ規模
公開から
約27年
1999年リリース
主要用途
3領域
Servlet / Spring / 社内Java

判断チェックリスト

  • 自社の用途が「Java Web アプリの実行 / Spring Boot の組込みサーバ(派生)」に近いか確認する。
  • 強みである「Java サーブレット/JSP の標準実装」が本当に評価軸になるか確認する。
  • 注意点の「静的配信は Nginx 等に劣る(前段に置く構成が一般的)」を運用で吸収できるか確認する。
  • 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
  • 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
  • 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。

次に確認する観点

Java Web アプリの実行Spring Boot の組込みサーバ(派生)社内 Java システム

向いている用途

こんな用途に向く

Java Web アプリの実行Spring Boot の組込みサーバ(派生)社内 Java システム
公式サイト