組み込みモードでtomcat7.0.19を正常に使用しています。ただし、最近、関心のある領域でいくつかの修正が行われたため、tomcat7.0.32に移行することにしました。ほとんどのものは同じコードと新しいバージョンで期待どおりに機能しますが、何らかの理由で戦争の展開はうまく機能していません。Tomcatにいくつかのサーブレットが登録されています。2つの問題の下に直面して、
埋め込まれたTomcatの動作から7.0.19から7.0.32に何かが変更されました。これを詳しく説明するために、動作の違いを説明しましょう。7.0.19では、アプリケーションをデプロイでき、「host:port / contextpath」を押すと、アプリケーションのスタートページが読み込まれます(つまり、ウェルカムページ、このページはUI中心であり、サーバーの介入を必要としないので、私のサーブレットはどれも呼び出されません)。ただし、7.0.32では、同じURLでサーブレットが呼び出されます。
したがって、問題をデバッグするために、ほとんどのコードにコメントを付けて、バニラTomcatの実装を作成しました。これは、エンジン名、デフォルトホストの設定、ホストプロパティの設定、コネクタの追加(nio、デフォルトプロパティを使用)などの非常に基本的なものです。戦争を展開します。サーブレットなどはありません。非常に基本的なものが機能するかどうかを確認するだけです。驚いたことに、このコードを実行してもサーブレット内で同じ問題が発生しましたが、どのように発生しましたか?コードにコメントが付けられたため、サーブレットは登録されませんが、どこから取得されますか?埋め込まれたTomcatは、後続の実行でクリーンアップされない古い参照をいくつか保存しますか?ポートを変更してみましたが、それも役に立ちませんでした。
私はここで壁にぶつかっていますが、この奇妙な振る舞いを理解することはできません。#2を理解した場合にのみ、#1である程度の進歩を遂げることができます。
前もって感謝します、
ヴィクラム