当前位置: 首页 > 面试题库 >

无法打开ServletContext资源

傅嘉悦
2023-03-14
问题内容

这与一个年龄较大的人非常相似,但是解决方案对我不起作用。

我有一个WAR包。

web.xml

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:application-context.xml</param-value>
</context-param>

<listener>
    <listener-class>
        org.springframework.web.context.ContextLoaderListener
    </listener-class>
</listener>

application-context.xml

<bean id="placeholderConfig" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="location">
        <value>classpath:social.properties</value>
    </property>
</bean>

但是得到这个:

org.springframework.beans.factory.BeanInitializationException:无法加载属性。嵌套的异常是java.io.FileNotFoundException:无法打开ServletContext资源[/social.properties]

我查了WAR包- .xml.properties文件都在/WEB-INF/classes

.properties文件是在src/main/resources.xmlsrc/main/java(默认包两者)和Maven传输他们(我认为)在正确的默认包WEB- INF/classes

有谁知道我为什么能得到这个例外?谢谢。

编辑:我只是想补充一下JUnit测试能够正常进行(我的意思是他们加载了他们应该从中进行的测试social.properties),但是在运行应用程序时,它会忽略我的classpath:前缀


问题答案:

不要使用classpath。这可能会导致使用不同的ClassLoader(容器与应用程序)出现问题。WEB-INF始终是更好的选择。

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/spring-config.xml</param-value>
</context-param>

<bean id="placeholderConfig" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
     <property name="location">
         <value>/WEB-INF/social.properties</value>
     </property>
</bean>


 类似资料:
  • 问题内容: 好的,我是第500位用户问这个问题,我读了很多答案,但仍然没有运气。 父模块pom包含: 子模块有,我使用运行我的webapp模块。 定义标准的调度程序模块: 我在下有文件,但是启动失败: 怎么了?文档和所有人都说Spring MVC将搜索XX-servlet.xml,其中XX是servlet的名称。为什么要搜索? 问题答案: 有自己的上下文,所有servlet和过滤器都共享它。默认情

  • 我在下有文件,但启动失败的原因是: 怎么啦?所有人都说Spring MVC将搜索xx-servlet.xml,其中XX是servlet的名称。它为什么搜索?

  • 问题内容: 我试图通过使用spring hibernatetemplate将我的hibernate示例移植到spring,但出现此错误,原因是:java.io.FileNotFoundException:无法打开ServletContext资源[/applicationContext.xml]。请建议我运行我的项目。我在公司里更新鲜 我的web.xml文件 我的applicationContext

  • 我的web.xml 我的调度器-servlet.xml 然后这个 编辑2 我创建了新的clean Spring MVC项目,但问题仍然存在。我想问题可能出在Weblogic上,我会试着重新安装它

  • 我有一个使用Spring mvc和Spring Security Eclipse Maven web项目。当我真的启动它时,它没有成功地初始化上下文: 更多详情如下: 这是我的 这是我的 我的问题是,当我启动应用程序时,我会出现类似的错误 它说它找不到但是我没有把它放进中,我的配置文件是

  • 我正在为一个项目使用完全基于java的配置。 部署webapp时,我得到以下错误: 问题是我不明白为什么Spring在我注册类配置时尝试加载XML配置: WebappInitializer: Webapp配置: 知道吗?