2012-01-18 7 views
3

「ServletContext」から(つまりcontextInitializedをオーバーライドすることによって)パラメータやその他のものを取得できることを知りました。ウェブアプリケーションを設定するための[context] .xmlとweb.xmlの使用

tomcats context docを読むと、web.xml(デフォルト値として使用)でパラメータを設定し、[context] .xmlファイルで上書きすることができます。

最初の質問:これは、デフォルトのプロパティを設定し、サーバー管理者がそれらを上書きできるようにするための良い方法ですか?

最初に、tomcatsコンテキストxmlで使用されるタグ、web xmlで使用されるタグ、java内からの取得方法、および使用例/例のすべての種類の属性/パラメータを表示する概要があります。どんな種類のものを使うべきですか?私は、次のような問題に直面していますそれを周りいじることで

:私はTOMCATSのWebインタフェースを介してWebアプリケーションを配備する場合は、[コンテキスト] .xmlファイルがcompletly無視されます(コンソールは、それが展開されたが第二がnullであることを述べている)

短いストーリーを短縮するには:web.xmlと[context] .xmlを適切に使用する方法 - 以下のリンクはあまり役に立ちません。

答えて

4

最初に、web.xmlを介して(servlet/application)コンテキスト属性を宣言する方が正解です。公式のJava EEでサポートされている方法ですから、このように宣言すれば、 Tomcat以外のアプリケーションサーバー。あなたが$ CATALINA_BASE/confに/ context.xmlにを持っていて、それにとweb.xmlで宣言され、同じ属性、1を持っている場合

第二に、私はのparamの値を上書きするTomcatのルールがあると信じて$ CATALINA_BASE/conf/context.xmlとアプリケーション内の(META-INFディレクトリ内の)context.xmlファイルの両方が同じパラメータである場合、web.xmlの優先度は

ですMETA-INF/context.xmlの中で優先されます。

最後に、同じパラメータをデカールする3つのファイルがすべてある場合、web.xml内のファイルが優先されます。

+0

thxしかし、私はちょうど私の質問を編集した、パラメータをオーバーライドする問題はバグです:https://issues.apache.org/bugzilla/show_bug.cgi?id=50700 私は管理者に私のアプリを引き渡す必要があります私はconf /.../ [context] .xml に設定を外部化できるかどうか尋ねましたが、私の主な質問は何のために使用するのですか?どのようなユースケースで使用するのか、そしてどのようにJava側でtomcats context.xmlでそれらをオーバーライドしてください) – dermoritz

関連する問題