Tomcat は、Apache Software Foundation の Jakarta プロジェクトの中核プロジェクトであり、Apache、Sun およびその他の企業および個人によって共同開発されており、Sun の参加とサポートにより、最新のサーブレットおよび JSP の仕様が常に Tomcat に反映されます。 Tomcat は高度なテクノロジーと安定したパフォーマンスを備え、無料であるため、Java 愛好家に深く愛されており、ほとんどのプログラマーに人気の Web アプリケーション サーバーとなっています。実行時のシステム リソースが少なく、拡張性が高く、負荷分散や電子メール サービスなどの開発アプリケーション システムで一般的に使用される機能がサポートされており、関心のあるプログラマーであれば誰でも変更したり、新しい機能を追加したりできます。
Apache Tomcat バージョン 6.0.20
リリースノート
=============================
このリリースの既知の問題:
=============================
*依存関係の変更
* JNI ベースのアプリケーション
* バンドルされた API
* Web アプリケーションのリロードと共有ライブラリの静的フィールド
* Linux 上の Tomcat
* SSI および CGI サポートの有効化
* セキュリティマネージャーの URL
* 静的リソースのシンボリックリンク
* 呼び出し側サーブレットの有効化
* Tomcat 変更ログの表示
* 他のすべてが失敗した場合
===================
依存関係の変更:
===================
Tomcat 6.0 は、JSE 5.0 以降で実行されるように設計されています。
さらに、Tomcat 6.0 はコンパイルに Eclipse JDT Java コンパイラを使用します。
これは、完全な JSP ページを用意する必要がなくなったことを意味します。
Tomcat を実行する Java Development Kit (JDK)、ただし Java ランタイム環境
(JRE) は、Eclipse JDT Java コンパイラにバンドルされており、十分です。
バイナリ Tomcat ディストリビューションを使用するように構成することもできます。
JSP をコンパイルするための JDK のコンパイラ、またはサポートされているその他の Java コンパイラ
Apache Ant による。
=======================
JNI ベースのアプリケーション:
=======================
ネイティブ ライブラリを必要とするアプリケーションは、ライブラリが
通常、これは次のような呼び出しで行われます。
静的 {
System.loadLibrary("ライブラリファイルへのパス");
}
ただし、一部のクラスでは、アプリケーションはライブラリが以下であることも保証する必要があります。
上記のコードが内部のクラスに配置された場合、複数回ロードされません。
Web アプリケーション (つまり、/WEB-INF/classes または /WEB-INF/lib の下)、および
アプリケーションがリロードされると、loadLibrary() 呼び出しが 2 回目に試行されます。
時間。
この問題を回避するには、ネイティブ ライブラリをロードするクラスを外部に配置します。
Web アプリケーションで、loadLibrary() 呼び出しが 1 回だけ実行されるようにします。
特定の JVM の存続期間中。
=============
バンドルされた API:
=============
Tomcat 6.0 を標準インストールすると、次の API がすべて利用可能になります。
Web アプリケーションで使用する場合 (「lib」に配置することにより):
* annotations-api.jar (注釈パッケージ)
* catalina.jar (Tomcat Catalina 実装)
* catalina-ant.jar (Tomcat Catalina Ant タスク)
* catalina-ha.jar (高可用性パッケージ)
* catalina-tribes.jar (グループ通信)
* el-api.jar (EL 2.1 API)
* jasper.jar (Jasper 2 コンパイラーおよびランタイム)
* jasper-el.jar (Jasper 2 EL 実装)
* jasper-jdt.jar (Eclipse JDT 3.3 Java コンパイラ)
* jsp-api.jar (JSP 2.1 API)
* servlet-api.jar (サーブレット 2.5 API)
* tomcat-coyote.jar (Tomcat コネクタおよびユーティリティ クラス)
* tomcat-dbcp.jar (Commons DBCP に基づいてデータベース接続プールの名前が変更されたパッケージ)
すべての Web アプリケーションで追加の API を利用できるようにするには、次のようにします。
解凍されたクラスを「classes」ディレクトリに配置します(デフォルトでは作成されません)。
または、「lib」ディレクトリ内の JAR ファイルにそれらを配置します。
XML パーサーの実装またはインターフェイスをオーバーライドするには、承認された
デフォルト設定では、次の場所にある JAR が定義されます。
「承認済み」は承認済みです。
================================================= ==============
Web アプリケーションのリロードと共有ライブラリの静的フィールド:
================================================= ==============
一部の共有ライブラリ (多くは JDK の一部) はオブジェクトへの参照を保持します。
Web アプリケーションによってインスタンス化されるため、クラスの読み込みに関連する問題が回避されます。
(ClassCastExceptions、クラスローダーが
停止しているなど)、共有ライブラリの状態を再初期化する必要があります。
役立つかもしれないことは、次のようなクラスを置かないようにすることです。
Web アプリケーションのクラスローダーの共有静的フィールドによって参照され、
代わりにそれらを共有クラスローダーに置きます (JAR は
"lib" フォルダー、クラスは "classes" フォルダーに配置する必要があります)。
================
Linux 上の Tomcat:
================
GLIBC 2.2 / Linux 2.4 ユーザーは環境変数を定義する必要があります。
エクスポート LD_ASSUME_KERNEL=2.2.5
Redhat Linux 9.0 ユーザーは、次の設定を使用して回避する必要があります。
安定性の問題:
エクスポート LD_ASSUME_KERNEL=2.4.1
NIO の sendfile 動作に対して Linux のバグがいくつか報告されています。必ず次のことを確認してください。
最新の JDK を使用するか、コネクタでの sendfile 動作を無効にしてください。<br/>
6427312: (fc) FileChannel.transferTo() が IOException「システム コールが中断されました」をスローする<br/>
5103988: (fc) FileChannel.transferTo は EAGAIN に対して -1 を返す必要があり、代わりに IOException をスローします<br/>
6253145: (fc) 2GB 境界を超えると Linux 上の FileChannel.transferTo が失敗する<br/>
6470086: (fc) FileChannel.transferTo(2147483647, 1, channel) により「値が大きすぎます」例外が発生します<br/>
=============================
SSI および CGI サポートを有効にする:
=============================
利用可能な CGI および SSI に関連するセキュリティ リスクのため
Web アプリケーションでは、これらの機能はデフォルトで無効になっています。
CGI サポートを有効にして構成するには、cgi-howto.html ページを参照してください。
SSI サポートを有効にして構成するには、ssi-howto.html ページを参照してください。
======================
セキュリティマネージャーの URL:
======================
内部にある JAR にセキュリティ権限を付与するには、
Web アプリケーション リポジトリ。次の形式の URL を使用します。
ポリシー ファイル内:
ファイル:${catalina.home}/webapps/examples/WEB-INF/lib/driver.jar
============================
静的リソースのシンボリックリンク:
============================
デフォルトでは、Unix シンボリックリンクは、Web アプリケーションでリンクに使用しても機能しません。
Web アプリケーションのルート ディレクトリの外にあるリソース。
この動作はオプションであり、「allowLinking」フラグを使用して無効にすることができます。
小切手。
=========================
呼び出し側サーブレットを有効にする:
=========================
Tomcat 4.1.12 以降、呼び出し側サーブレットは、
すべての Web アプリのデフォルトです。編集することですべての Web アプリで有効にすることができます。
$CATALINA_HOME/conf/web.xml で「/servlet/*」サーブレット マッピングのコメントを解除します
意味。
実稼働環境で呼び出しサーブレットを使用することはお勧めできません。
詳細については、Tomcat FAQ を参照してください。
http://tomcat.apache.org/faq/misc.html#invoker。
==============================
Tomcat 変更ログの表示:
==============================
このディレクトリのchangelog.htmlを参照してください。
====================
他のすべてが失敗した場合:
====================
FAQを参照
http://tomcat.apache.org/faq/
拡大する