有没有办法将applicationContext.xml放入WEB-INF文件夹?我特定于WEB-INF文件夹,因为我知道它可以放在WEB-INF \ classes文件夹中。
根据要求,客户端应该能够根据其设置配置applicationContext.xml
我还想到了另一种选择,即将WEB-INF文件夹中的xml配置文件导入applicationContext.xml。但我还没有尝试过,也不确定它有多可行。
答案 0 :(得分:1)
是的,你可以这样做,但是类路径是放置它们的合理位置。
在web.xml中,在“contextConfigLocation”的定义中,只需将/WEB-INF/applicationContext.xml添加到该部分。
答案 1 :(得分:1)
如果在web.xml中添加它,则可以访问applicationContext
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/applicationContext.xml
</param-value>
</context-param>
答案 2 :(得分:1)
从您的需求的角度来看,将它放在WEB-INF或WEB-INF / classes目录中完全没有区别:无论哪种方式,都需要在部署后从爆炸的WAR / EAR访问它,这可能是如果您的应用服务器没有爆炸它是不可能的(即,JBoss可以直接使用WAR)。
IMO,您的解决方案是停止使用WebApplicationContext实现。使用DefaultListableBeanFactory,它应该在ServletContextListener中初始化,手动读取配置文件。这样,您就可以从ApplicationServer环境获取applicationContextFile的路径(使用JNDI或任何适合您的方法),因此它可以放置在Application Server所在的机器中的任何位置。
至少那是我们所做的,原因与你一样。