gpt4 book ai didi

spring - 无法加载/WEB-INF/applicationContext.xml

转载 作者:行者123 更新时间:2023-12-04 18:25:32 26 4
gpt4 key购买 nike

在其他查询中看到同样的问题,但没有找到答案,因此重新发布。

在 Rest 中创建了一个示例 Helloworld 服务并将其部署在 Tomcat-Jersey 中。不使用 Maven。在 WEB-INF 目录中的 applicationContext.xml 中注入(inject)一个 spring bean 定义。

在 Eclipse 中的 Tomcat 中部署服务。但是当我执行其余服务时,找不到文件 applicationContext.xml。将文件复制到 WEB-INF/classes 后,它就可以工作了。

只有在WEB-INF中才能让它工作的方法是什么?

网络.xml :

    <listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>

休息服务代码片段:

    ctx = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");

最佳答案

将上下文描述符放在 /WEB-INF/classes 下似乎是合理的,因为这个位置是 classpath 的根。

因此,如果您想将 applicationContext.xml 放到 WEB-INF 文件夹下,请尝试使用以下 uri(不带前缀)加载:

    ctx = new ClassPathXmlApplicationContext("/WEB-INF/applicationContext.xml");

否则,您能否解释一下您为什么要在您的 Web 应用程序中加载您的 applicationContext.xml

或者,您可以按如下方式以编程方式加载您的应用程序上下文:

ApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(this.getServletContext());

BR.

关于spring - 无法加载/WEB-INF/applicationContext.xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22162628/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com