0

web.xmlTomcat 7 でWeb デプロイメント記述子 ( ) に別の名前を使用することはできますか? もしそうなら、どのように?

4

1 に答える 1

3

サーブレットの仕様によると、デプロイメント記述子は WEB-INF/web.xml です。これは、すべてのツールとすべてのサーブレット コンテナー/アプリ サーバーが同意し、処理することを認識しているものです。

なぜこれをやりたいのですか?

場合によっては、まったく必要ありませんサーブレット仕様 3.0のセクション A.6.6 を参照してください。

Servlet、Filter、または Listener コンポーネントが含まれていない場合、Web アプリケーションに web.xml を含める必要はありません。つまり、静的ファイルまたは JSP ページのみを含むアプリケーションには、web.xml が存在する必要はありません。

編集: コメントに答えて、2 つの異なるアプリケーション サーバーに対して 2 つの異なるバージョンを使用する場合は、両方のアプリケーション サーバーを異なる方法で構成する必要があります (たとえば、異なるパラメーターを提供する - たとえば、JNDI について読んで、それを使用してデータベースに接続する)。ビルド時の変更。例: Web アプリケーションの 2 つのバージョンをビルドするように ant または maven を構成するか、デプロイ時にスクリプトをデプロイし、デプロイ手順中にスクリプトを使用して WAR ファイルを更新します。

前に 1 つの回答を見逃していました。Tomcat (および JBoss) はオープン ソースです。したがって、技術的には、別のコードで再コンパイルしてデプロイメント記述子を読み取ることができます。しかし、a) web.xml のようにこの構成が何らかの影響を与えることを IDE が予期しないため (taglibs を読み取って問題のある JSP を示すことを考えてください)、すべてのツール サポートが失われます。また、b) メンテナンスの悪夢が発生します。すべての新しいTomcatバージョンと誰もに対してこれを行う必要がありますが、自尊心のあるWebサーバーのそのような動作を期待するでしょう

于 2013-04-06T14:09:03.790 に答える