gpt4 book ai didi

java - 如何解决 BeanDefinitionStoreException : IOException parsing XML document from ServletContext resource [/WEB-INF/dispatcher-servlet. xml]?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:00:36 63 4
gpt4 key购买 nike

错误堆栈跟踪:

SEVERE: StandardWrapper.Throwable
org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from ServletContext resource [/WEB-INF/dispatcher-servlet.xml]; nested exception is java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/dispatcher-servlet.xml]

调度器-servlet.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:beans="http://springframework.org/schema/beans"
xsi:schemaLocation="http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/task/spring-task.xsd">

<mvc:annotation-driven/>

<context:component-scan base-package="com.exam.www" />

<!-- Factory bean that creates the Mongo instance -->
<bean id="mongo" class="org.springframework.data.mongodb.core.MongoFactoryBean">
<property name="host" value="localhost" />
</bean>

<!-- MongoTemplate for connecting and quering the documents in the database -->
<bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
<constructor-arg name="mongo" ref="mongo" />
<constructor-arg name="databaseName" value="Results" />
</bean>

<!-- Use this post processor to translate any MongoExceptions thrown in @Repository annotated classes -->
<bean class="org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor" />



<bean id="jspViewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:prefix="/WEB-INF/jsp"
p:suffix=".jsp" />

<!-- <bean class="org.springframework.web.servlet.view.tiles2.TilesViewResolver"/>

<bean class=
"org.springframework.web.servlet.view.tiles2.TilesConfigurer"> -->
<!-- <property name="definitions">
<list>
<value>/WEB-INF/views/views.xml</value>
</list>
</property>
</bean> -->




</beans>

applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

<!-- Root Context: defines shared resources visible to all other web components -->

<!--
CSRF protection. Here we only include the CsrfFilter instead of all of Spring Security.
See http://docs.spring.io/spring-security/site/docs/3.2.x/reference/htmlsingle/#csrf for more information on
Spring Security's CSRF protection
-->
<!-- <bean id="csrfFilter" class="org.springframework.security.web.csrf.CsrfFilter">
<constructor-arg>
<bean class="org.springframework.security.web.csrf.HttpSessionCsrfTokenRepository"/>
</constructor-arg>
</bean> -->
<!--
Provides automatic CSRF token inclusion when using Spring MVC Form tags or Thymeleaf. See
http://localhost:8080/#forms and form.jsp for examples
-->
<!-- <bean id="requestDataValueProcessor" class="org.springframework.security.web.servlet.support.csrf.CsrfRequestDataValueProcessor"/>

-->
</beans>

网络.xml

<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">

<!-- <display-name>Spring With MongoDB Web Application</display-name> -->

<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>WEB-INF/dispatcher-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>

<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>WEB-INF/dispatcher-servlet.xml</param-value>
</context-param>

<welcome-file-list>
<welcome-file>/search.jsp</welcome-file>
</welcome-file-list>
</web-app>

我尝试了网上给出的几种解决方案,比如1) 授予对所有文件的读、写权限 - 不起作用2) 添加 init-param - 不起作用3) 将 dispatcherservlet 的路径显式指定为/WebContent/WEB-INF/dispatcher-servlet.xml - 不起作用。

我在 Apache tomcat 服务器 v7.0 上运行项目时出现此错误

过去 4 天我一直被这个问题困扰。请帮我。

以下是有效的解决方案。

您的 war 没有 dispatcher-servlet.xml。 1) 该项目没有 webapp 文件夹。使用 maven 创建项目时请注意。您可以按照此处提到的步骤操作 http://blog.manishchhabra.com/2013/04/spring-data-mongodb-example-with-spring-mvc-3-2/您可能会使用一些奇怪的 maven 原型(prototype)创建项目。尝试上面的链接,它有效。

我在互联网上的其他地方找不到这个解决方案。 :)

最佳答案

Spring 为 Web 应用程序创建了两个应用程序上下文。第一个是包含应用程序 bean 的根应用程序上下文,例如 DAO 服务对象等。此上下文(在您的情况下为 applicationContext.xml)是使用上下文参数 contextConfigLocation 配置的。第二个是包含您的 Web 特定 bean 的子 Web 应用程序上下文。这是使用调度程序 servlet 的 init-param contextConfiguration 配置的。

在您的情况下,您已经为两者复制了配置文件。如下更改您的 web.xml

<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">

<!-- <display-name>Spring With MongoDB Web Application</display-name> -->

<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/dispatcher-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>

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

<welcome-file-list>
<welcome-file>/search.jsp</welcome-file>
</welcome-file-list>
</web-app>

关于java - 如何解决 BeanDefinitionStoreException : IOException parsing XML document from ServletContext resource [/WEB-INF/dispatcher-servlet. xml]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25853804/

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