0

applicationContext.xmlをWEB-INFフォルダーに配置する方法はありますか?WEB-INF \ classesフォルダーに配置できることがわかっているので、WEB-INFフォルダーに固有です。
要件に従って、クライアントはセットアップに従ってapplicationContext.xmlを構成できる必要があります。
WEB-INFフォルダーからapplicationContext.xmlにxml構成ファイルをインポートすることを考えた別のオプションがあります。しかし、私はまだそれを試していませんでした、そしてそれがどれほど実行可能かわかりません。

4

3 に答える 3

1

はい、これを行うことはできますが、クラスパスはそれらを配置するためのかなり論理的な場所です。

web.xmlの「contextConfigLocation」の定義で、セクションに/WEB-INF/applicationContext.xmlを追加するだけです。

于 2012-06-21T19:32:16.647 に答える
1

これをweb.xmlに追加すると、applicationContextにアクセスできます。

<context-param>
    <param-name>contextConfigLocation</param-name>
       <param-value>
       /WEB-INF/applicationContext.xml
       </param-value>
</context-param>
于 2012-06-21T20:07:56.000 に答える
1

要件の観点からは、WEB-INFまたはWEB-INF / classesディレクトリに配置することにまったく違いはありません。どちらの方法でも、デプロイ後に展開されたWAR / EARからアクセスする必要がありますが、これは不可能な場合があります。アプリサーバーが爆発しない場合(つまり、JBossはWARと直接連携できます)。

IMO、あなたのための解決策は、WebApplicationContext実装の使用をやめることです。構成ファイルを手動で読み取り、ServletContextListenerで初期化する必要があるDefaultListableBeanFactoryを使用します。このようにして、ApplicationServer環境からapplicationContextFileへのパスを取得できるため(JNDIまたは適切な方法を使用)、ApplicationServerが存在するマシンのどこにでも配置できます。

少なくとも、あなたが持っているのとまったく同じ理由で、それが私たちがしたことです。

于 2012-06-21T20:38:45.923 に答える