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

推薦する

Linux でパスワードの有効期限を表示および設定する方法

適切な設定を行うことで、Linux ユーザーにパスワードを定期的に変更させることができます。パスワー...

JavaScript の setTimeout と setTimeinterval の使用例の説明

どちらの方法も、一定時間後に JavaScript コードを実行するために使用できますが、それぞれに...

TypeScript のユニオン型、交差型、型ガード

目次1. ユニオンタイプ2. クロスオーバータイプ3. 型保護3.1 カスタム型保護3.2 保護の種...

VueはTeleportをベースにModalコンポーネントを実装します

目次1. テレポートについて知る2. テレポートの基本的な使い方3. 最初のステップの最適化4. 第...

MySQL ロック関連知識のまとめ

MySQL のロックロックは、並行環境におけるリソースの競合を解決する手段です。その中でも、楽観的並...

CocosCreatorがスキル冷却効果を実装

CocosCreatorがスキルCD効果を実現多くのゲームにはスキルがあります。プレイヤーがスキルボ...

gorm で MySql データベースを操作する方法

1. テーブル内のフィールドの大文字と小文字の区別を設定するgorm クエリを使用する場合、MySQ...

VMware に CentOS7 をインストールし (静的 IP アドレスを設定)、Docker コンテナ経由で mySql データベースをインストールする (非常に詳細なチュートリアル)

2 年生から、これらのインストールと設定の仕方を尋ねられました。簡単なチュートリアルを作成し、ここ...

MySQL の冗長インデックスと重複インデックスの詳細な説明

MySQL では、同じ列に複数のインデックスを作成できます。意図的であるかどうかにかかわらず、MyS...

HTMLとXHTML、HTML4とHTML5のタグの違いについて簡単に紹介します。

HTML と XHTML の違い1. XHTML要素は正しくネストされている必要がある2. XHT...

CSS3 フィルター属性の使い方の紹介

1. はじめにフロントエンドページのアニメーション効果を記述する場合、filter 属性は多かれ少な...

mysql の存在する例と存在しない例の詳細な説明

mysql の存在する例と存在しない例の詳細な説明テーブルA |列1 | 列1 | 列3 |テーブル...

純粋なCSSでデジタルプラスとマイナスボタンを実装するための最適なソリューション

序文:デジタル加算ボタンと減算ボタンの実装には、次のような多くのソリューションがこれまでに使用されて...

Nginx は rtmp ライブ サーバーの実装コードを構築します

1. nginxソースディレクトリに新しいrtmpディレクトリを作成し、git clone http...

HTMLの空リンクの役割についての簡単な説明

空のリンク:つまり、ターゲット エンドポイントとのリンクはありません。フォーマット <a hr...