TomcatとJDKのバージョンの対応と各Tomcatバージョンの機能

TomcatとJDKのバージョンの対応と各Tomcatバージョンの機能

Apache Tomcat は、Java Servlet および Java Server Pages テクノロジを実装するオープン ソース ソフトウェアです。サーブレットと JSP 仕様の異なるバージョンでは、Apache Tomcat の異なるバージョンを使用できます。 Tomcat と JDK バージョンの対応は次のとおりです。

サーブレット仕様JSP仕様EL仕様WebSocket仕様JASPIC仕様Apache Tomcat バージョン最新リリースサポートされているJavaバージョン
4.0 2.3 3.0 1.1 1.1 9.0.x 9.0.27バージョン8以降
3.1 2.3 3.0 1.1 1.1 8.5.x 8.5.47 7以降
3.1 2.3 3.0 1.1適用できない8.0.x (廃止) 8.0.53 (廃止) 7以降
3.0 2.2 2.2 1.1適用できない7.0.x 7.0.96 6 以上 (WebSocket の場合は 7 以上)
2.5 2.1 2.1適用できない適用できない6.0.x (アーカイブ) 6.0.53 (アーカイブ) 5以降
2.4 2.0適用できない適用できない適用できない5.5.x (アーカイブ) 5.5.36 (アーカイブ) 1.4以降
2.3 1.2適用できない適用できない適用できない4.1.x (アーカイブ) 4.1.40 (アーカイブ) 1.3以降
2.2 1.1適用できない適用できない適用できない3.3.x (アーカイブ) 3.3.2 (アーカイブ)バージョン 1.1 以降

どのバージョンが適切かを判断する際に役立つよう、これらのバージョンについて以下で詳しく説明します。各リリースの詳細については、該当するリリース ノートを参照してください。

Apache Tomcat 7.x などの古いバージョンのダウンロードとドキュメントも提供していますが、可能な限り最新の安定したバージョンの Apache Tomcat を使用することを強くお勧めします。メジャー バージョン間のアップグレードは簡単な作業ではないことを認識しており、古いバージョンのユーザー向けにリストで引き続きサポートを提供しています。ただし、コミュニティ主導のサポートアプローチのため、バージョンが古ければ古いほど、興味を持ったりサポートできる人は少なくなります。

アルファ / ベータ / 安定版

Tomcat には 3 つの主要なバージョンがあります。メジャー バージョンの最初のリリースは通常、アルファからベータ、そして安定へと進みます。

アルファ リリースには、仕様で要求される大量の未テスト機能や欠落機能、および/または重大なバグが含まれる可能性があり、一定期間安定して動作することは期待できません。

ベータ版リリースには、テストされていない機能や比較的軽微なバグが多数含まれている場合があります。ベータ版は安定して動作することは期待できません。

安定版リリースには、比較的軽微なバグが少数含まれている場合があります。安定版リリースは本番環境での使用を目的としており、長期間にわたって安定して動作することが期待されます。

Apache Tomcat 9.x

現在、Apache Tomcat 9.x が開発の焦点となっています。これは Tomcat 8.0.x および 8.5.x 上に構築されており、Servlet 4.0、JSP 2.3、EL 3.0、WebSocket 1.1、および JASPIC 1.1 仕様 (Java EE 8 プラットフォームに必要なバージョン) を実装しています。さらに、次の重要な改善も含まれています。

  • HTTP/2 のサポートを追加します (Java 9 (Apache Tomcat 9.0.0.M18 以降) または Tomcat Native ライブラリがインストールされている必要があります)
  • JSSE コネクタ (NIO および NIO2) の TLS サポートに OpenSSL を使用するためのサポートが追加されました
  • TLS仮想ホスティング(SNI)のサポートを追加しました

Apache Tomcat 8.x

Apache Tomcat 8.0.x は Tomcat 7.0.x 上に構築されており、Servlet 3.1、JSP 2.3、EL 3.0、および WebSocket 1.1 仕様を実装しています。さらに、次の重要な改善も含まれています。

  • 以前のバージョンで提供されていた複数のリソース拡張機能を置き換える単一の共通リソース実装。

Apache Tomcat 8.5.x は、Apache Tomcat 8.0.x と同じサーブレット、JSP、EL、および WebSocket 仕様バージョンをサポートします。とりわけ、JASPIC 1.1 仕様を実装しています。

これは、2016 年 3 月の Tomcat 9.0.0.M4 (アルファ) マイルストーン リリースから派生したものです。 Tomcat 8.0 ランタイムおよび仕様要件と互換性を持ちながら、HTTP/2 サポートと Tomcat 9.x コードベースのその他の機能を提供します。 (当時は安定した Tomcat 9.0 バージョンを作成することはできず、Tomcat 9 の Java EE 仕様は数年後に完成しました)。

Tomcat 8.5 は Tomcat 8.0 の代替として考えられています。 Tomcat 8.5 への移行に関するガイダンスについては、移行ガイドを参照してください。

Apache Tomcat 8.5.x には、次の重要な改善が含まれています。

  • HTTP/2 のサポートを追加します (Tomcat ネイティブ ライブラリが必要です)
  • JSSE コネクタ (NIO および NIO2) の TLS サポートに OpenSSL を使用するためのサポートが追加されました
  • TLS仮想ホスティング(SNI)のサポートを追加しました

Apache Tomcat 8.5.x では次のテクノロジが削除されています。

  • HTTP および AJP コネクタの BIO 実装
  • Comet API をサポート

Tomcat 8.5 には多くの領域で大幅な変更が含まれており、パフォーマンス、安定性、総所有コストが向上しています。詳細については、Apache Tomcat 8.5 の変更ログを参照してください。

Tomcat 8.0 のユーザーは、Tomcat 8.0 の開発が終了していることにご注意ください。 Tomcat 8.0.x のユーザーは、Tomcat 8.5.x 以降にアップグレードする必要があります。

Apache Tomcat 7.x

Apache Tomcat 7.x は、Tomcat 6.0.x で行われた改良に基づいて構築されており、Servlet 3.0、JSP 2.2、EL 2.2、および WebSocket 1.1 仕様を実装しています。とりわけ、次のような改善点が含まれています。

  • Web アプリケーションのメモリ リーク検出と防止
  • マネージャーおよびホストマネージャーアプリケーションのセキュリティが強化されました
  • 一般的なCSRF保護
  • 外部コンテンツをWebアプリケーションに直接組み込むためのサポート
  • リファクタリング(コネクタ、ライフサイクル)と大量の内部コードのクリーンアップ

Apache Tomcat 6.x

Apache Tomcat 6.x は、Tomcat 5.5.x に加えられた改良に基づいて構築され、Servlet 2.5 および JSP 2.1 仕様を実装しています。とりわけ、次のような改善点が含まれています。

  • メモリ使用量の最適化
  • 高度なIO機能
  • リファクタリングクラスター

Tomcat 6 のユーザーは、Tomcat 6 の開発が終了していることに注意してください。 Tomcat 6.x のユーザーは Tomcat 7.x 以降にアップグレードする必要があります。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Cent OS サーバー構成 JDK+Tomcat+MySQL の簡単な記録
  • Linux のインストール JDK、Tomcat、MySQL の詳細な説明 (画像とテキスト付き)
  • Linux での JDK と Tomcat のインストールと設定の詳細な説明
  • Linux インストール jdk、tomcat 構成 vsftp リモート接続手順
  • Tomcat+JDK のインストールと設定のチュートリアル

<<:  ログインフォームを実装するためのJavaScript

>>:  あるテーブルのデータの列を別のテーブルの列にコピーするMySQLメソッド

推薦する

DockerにJava環境をインストールするための実装手順

この記事は Linux centos8 をベースにして、docker をインストールし、イメージをプ...

Docker による Oracle 11g イメージ構成のプルに関する詳細なチュートリアル

さっそくAlibaba の oracle11g イメージをプルして構成する docker の記録を開...

IDEA の Docker プラグインを介して Springboot プロジェクトを公開する方法の詳細なチュートリアル

1. Dockerfileを書く(1)プロジェクト名を右クリックして新しいテキストファイルを作成し、...

1 つの記事で v-model とその修飾子を学ぶ

目次序文v-model の修飾子:怠け者トリム番号さまざまな入力タイプやその他の要素での v-mod...

HTMLを圧縮しない理由はいくつかある

理由は簡単です。 HTML ドキュメントでは、複数の空白文字は 1 つの空白文字と同等です。つまり、...

Linuxでバージョン情報を表示する方法

Linux でバージョン情報を表示する方法。ビット数、バージョン情報、CPU コア情報、CPU 固有...

MySQLが正常にインストールされたかどうかを確認する方法

MySQL をインストールした後、DOS ウィンドウまたは MySQL 5.7 コマンドライン クラ...

Mysql general_log をクリーンアップする方法の概要

方法1: グローバル general_log を 'OFF' に設定します。 テーブ...

JavaScript ファクトリーパターンの説明

目次シンプルファクトリーファクトリーメソッド安全な工場方法アブストラクトファクトリー要約するシンプル...

MySQL 制約の超詳細な説明

目次MySQL 制約操作1. 非ヌル制約2. ユニーク制約3. 主キー制約4. 外部キー制約5. カ...

MySQL 5.7 で my.ini ファイルが見つからない場合の解決策

my.ini とは何ですか? my.ini は、MySQL データベースで使用される設定ファイルです...

データベースアカウントのパスワード暗号化の詳細な説明と例

データベースアカウントのパスワード暗号化の詳細な説明と例データベースアカウントとパスワードはデータベ...

VMware Workstation 15 Pro インストール ガイド (初心者向け)

01. VMware Workstation Pro 15 のダウンロードダウンロード: VMwa...

Ubuntuにopencvをインストールする正しい方法の詳細な説明

この記事ではUbuntuでC++インターフェースを使用してopencvをインストールする方法について...