2009-10-31 58 views
0

我正在学习Spring并构建一个示例应用程序。错误提示springmvc-servlet.xml错误,但在检查时它看起来正确吗?

我收到错误:

org.springframework.beans.factory.parsing.BeanDefinitionParsingException:配置问题:ServletContext的资源[:Bean的名称 '/list_cars.html' 在此文件 犯规资源已被使用/WEB-INF/springmvc-servlet.xml]

我以前得到一个类似的错误为一个springmvc-servlet.xml文件,其错误为true.But,但是当我用下面的文件替换它(并删除了以前的项目,并重新启动Tomcat)我继续得到错误,任何帮助将不胜感激。

<?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-2.5.xsd"> 

<!-- beans --> 
<bean id="carManager" class="springmvc.service.CarManager"> 
    <property name="carList"> 
    <list> 
     <ref bean="car1"/> 
     <ref bean="car2"/> 
    </list> 
    </property> 
</bean>  

<bean id="brandManager" class="springmvc.service.BrandManager"> 
    <property name="brandList"> 
    <list> 
     <ref bean="brand1"/> 
     <ref bean="brand2"/> 
    </list> 
    </property> 
</bean> 

<bean id="brand1" class="springmvc.model.Brand"> 
    <property name="id" value="1"/> 
    <property name="name" value="Mercedes"/> 
    <property name="country" value="Germany"/> 
</bean> 

<bean id="brand2" class="springmvc.model.Brand"> 
    <property name="id" value="2"/> 
    <property name="name" value="Peugeot"/> 
    <property name="country" value="France"/> 
</bean> 

<bean id="car1" class="springmvc.model.Car"> 
    <property name="id" value="1"/> 
    <property name="brand" ref="brand1"/> 
    <property name="model" value="SL 500"/> 
    <property name="price" value="40000"/> 
</bean> 

<bean id="car2" class="springmvc.model.Car"> 
    <property name="id" value="2"/> 
    <property name="brand" ref="brand2"/> 
    <property name="model" value="607"/> 
    <property name="price" value="35000"/> 
</bean> 

<!-- urls --> 
<bean name="/hello_world.html" class="springmvc.web.HelloWorldController"/> 

<bean name="/list_cars.html" class="springmvc.web.CarListController"> 
    <property name="carManager" ref="carManager"/> 
</bean> 

<bean name="/new_car.html" class="springmvc.web.CarNewController"> 
    <property name="commandClass" value="springmvc.model.Car"/> 
    <property name="formView" value="carNew"/> 
    <property name="successView" value="list_cars.html"/> 
    <property name="validator"> 
     <bean class="springmvc.validator.CarValidator"/> 
    </property> 
    <property name="carManager" ref="carManager"/> 
    <property name="brandManager" ref="brandManager"/> 
</bean> 


<!-- misc --> 
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
    <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> 
    <property name="prefix" value="/jsp/"/> 
    <property name="suffix" value=".jsp"/> 
</bean> 

</beans> 
+1

您的应用程序必须选取其他文件,因为在这个文件中显然没有重复的“/list_cars.html”定义。 – ChssPly76 2009-10-31 07:05:08

回答

1

只是为了让事情更易读,定义一个bean时使用正确的bean的名称,并在像下面的urlMapping中的属性把URL名称做一个URL映射到控制器。

<bean name="carListController" class="springmvc.web.CarListController"> 
     <property name="carManager" ref="carManager"/> 
</bean> 

    <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> 
    <property name="mappings"> 
      <props> 
     <prop key="/list_cars.html">carListController</prop> 

      </props> 
     </property> 
    </bean> 
相关问题