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メソッド

推薦する

Vue3の状態管理の使用方法の詳細な説明

目次背景提供/注入共有状態の抽出データを提供するデータの挿入まとめ反応的な共有状態の抽出共有状態の使...

ElementUIはドロップダウンオプションと複数選択ボックスのサンプルコードを実装します

目次ドロップダウン複数選択ボックスアップグレード - すべてのオプションを追加改訂と改善を求める製品...

複数のドメイン名に対する Nginx リバース プロキシを使用した HTTP および HTTPS サービスの実装

現在、Nginx は、Web サービスを提供するために、Windows ベースの IIS と Lin...

JavaScript スタイル オブジェクトと CurrentStyle オブジェクトのケース スタディ

1. スタイルオブジェクトスタイル オブジェクトは単一のスタイル宣言を表し、スタイルが適用されている...

React antdはフォームの動的な増減を実現します

以前、動的フォームを記述しているときに落とし穴に遭遇しました。インデックスの添え字をキーとして使用す...

Vue3とTypeScriptを組み合わせたプロジェクト開発の実践の概要

目次概要1. コンポジションAPI 1. ref と reactive の違いは何ですか? 2. 周...

Linux で JDK をインストールして環境変数を設定する方法 (この記事で十分です)

目次1. Linuxのビット数を確認する2. JDKをダウンロードする3. JDKをインストールする...

Vue+elementUI コンポーネントは、折りたたみ可能な動的レンダリングのマルチレベル サイドバー ナビゲーションを再帰的に実装します。

かなり前に実装された機能ですが、クリックすると選択したメニュー項目の背景色が白くなることに気付きまし...

MySql の忘れたパスワードの変更方法はバージョン 5.7 以上に適しています

1. まずmysqld.exeプロセスを停止します2. cmd を開き、mysql の bin ディ...

XHTML 入門チュートリアル: テキストの書式設定と特殊文字

<br />このセクションでは、XHTML でテキストの書式設定と特殊文字を実装する方法...

MySQL 圧縮版 zip のインストールに関する問題の解決策

本日、MySQLの圧縮版をインストールする際に問題が発生しました。サービスが起動できず、2、3時間苦...

Vueはechart円グラフの凡例のパーセンテージを表示するメソッドを実装します

この記事では主に、echart を使用してパーセンテージを表示する Vue の円グラフデータ部分を紹...

mysql IS NULL インデックスケースの説明を使用する

導入MySQL の SQL クエリ ステートメントで is null、is not null、!= ...

Vueのトランジションとアニメーションの深い理解

1. DOM要素を挿入、更新、または削除するときに、適切な場合は要素にスタイルクラス名を追加します。...