3

私はJavaEEの初心者です。web.xmlは、Tomcat、Glassfishな​​どの多くのサーブレットコンテナ/アプリケーションサーバーで使用される標準ファイル(デプロイメント記述子)であることがわかりました。多くのチュートリアルで、特定の値を達成するためにカスタム値をどこかに配置する必要があるさまざまなXMLタグを見つけることができます。機能(チュートリアルのコンテキストで)。しかし、それはかなり混沌としている-もともとglassfish/jsfで使用されていたspring/tomcat内のタグを再利用できるかどうかはわかりません(これは単なる問題の例です)。web.xmlの主要なJavaEE仕様が1つあります。これにより、使用するWebサーバーとフレームワークに関係なく、そこに配置できるタグを知ることができますか?

たとえば、tomcatにはweb.xmlファイル用に提供された特定のオプションがあるので、各サーバーの動作は少し異なると思います(WebブラウザーがHTML / CSSを異なる方法で解釈できるように)-しかし、どこかに主要なドキュメントがあります(独立して枠組み)?

4

3 に答える 3

4

通常、Javaの世界では、JSRと呼ばれる一般的な仕様です。たとえば、サーブレット仕様には、web.xmlの定義(およびその解釈方法)が含まれています。複数のサーブレットバージョンがあり、それらは異なるJSRによって指定されています。たとえば、サーブレット2.4の仕様は次の場所にあります。http://jcp.org/en/jsr/detail? id = 154(JSR-154と呼ばれます)

この仕様では、さまざまなベンダーがさまざまなweb.xml-sを使用することは許可されていないと思います。その代わりに、web.xmlで他のファイルを使用することをお勧めします。Tomcatは以前はサーブレットのリファレンス実装でしたが(現在はそうではありません)、tomcatはJSRに対して非常に厳密であると思います。

現在、最新のサーブレット仕様は3.0です(3.1はまもなく登場します)

于 2013-02-12T08:14:54.740 に答える
2

もちろん、公式の仕様は、上記のようにさまざまなJSRに含まれています。

ただし、便利なトリックは、xmlファイルの先頭にある「schemaLocation」属性を確認することです。これをWebブラウザーに入れると、すべてのタグとコメントを含むXSDドキュメントが返されます。

これらの仕様には、質問の2番目の部分に関する情報も含まれています。アノテーションは構成を提供します。構成は、展開記述子(web.xml)の値でオーバーライドできます。各アプリケーションサーバーのブランドには、独自の展開記述子に追加の構成情報を含めることもできます。すなわち。WEB-INF / jboss-web.xml

これらのベンダー固有のデプロイメント記述子には、web.xmlと同じ名前のタグがあり、web.xml値をオーバーライドする場合があります。

web.xml(およびその他の標準デプロイメント記述子)は標準化されています。ベンダー固有のデプロイメント記述子は、各アプリケーションサーバーベンダー次第です。

于 2015-08-27T06:37:46.027 に答える
1

使用しているアプリケーションサーバーに関連するドキュメントを常に確認する必要があると思います。

たとえば、WebSphereを使用している場合は、これを参照してください

WebLogicの場合は、これを参照してください

サーブレット3.0では、アノテーションを使用することでデプロイメント記述子をまったく使用しないアプリを作成できるのは興味深いことです。これは、WEB.xmlが使用されなくなることを意味するものではありません。ここにサーブレット3.0に関する良い記事があります。

于 2013-02-17T11:28:02.927 に答える