0

有没有办法将 applicationContext.xml 放入 WEB-INF 文件夹?我特定于 WEB-INF 文件夹,因为我知道它可以放在 WEB-INF\classes 文件夹中。
根据要求,客户端应该能够根据他们的设置配置 applicationContext.xml。
我想到了另一种选择,将 xml 配置文件从 WEB-INF 文件夹导入到 applicationContext.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 环境(使用 JNDI 或任何适合您的方法)获取 applicationContextFile 的路径,因此它可以放置在 Application Server 所在机器的任何位置。

至少这就是我们所做的,出于同样的原因。

于 2012-06-21T20:38:45.923 回答