Spring Rest Service - 'mvc:annotation-driven'出错

时间:2017-05-15 18:43:20

标签: java spring rest spring-mvc annotations

我尝试将rest服务集成到我现有的spring mvc 3.0项目中,但我对以下错误感到震惊(也尝试删除xsd版本)。请帮助解决这个问题。

“cvc-complex-type.2.4.c:匹配的通配符是严格的,但是找不到元素'mvc:annotation-driven'的声明

这是我的spring 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:p="http://www.springframework.org/schema/p"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans  
            http://www.springframework.org/schema/beans/spring-beans.xsd    
        http://www.springframework.org/schema/mvc/spring-mvc  
            http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd 
        http://www.springframework.org/schema/aop  
            http://www.springframework.org/schema/mvc/spring-aop.xsd    
         http://www.springframework.org/schema/tx 
            http://www.springframework.org/schema/tx/spring-tx.xsd 
         http://www.springframework.org/schema/context  
            http://www.springframework.org/schema/context/spring-context.xsd">



  <mvc:annotation-driven/>
    <context:component-scan base-package="com.kpp.kpweb.controller" />

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



    <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource"> 
        <property name="basenames">
            <list>
                <value>/WEB-INF/springMessages</value>  
            </list>
        </property>
    </bean>





    <bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
     <property name="mediaTypes">
       <map>
   <entry key="html" value="text/html"></entry>
   <entry key="json" value="application/json"></entry>
   <entry key="xml" value="application/xml"></entry>
 </map>
     </property>
     <property name="viewResolvers">
 <list>
  <bean class="org.springframework.web.servlet.view.UrlBasedViewResolver">
    <property name="viewClass" value="org.springframework.web.servlet.view.JstlView">
            </property>
     <property name="prefix" value="/jsp/"></property>
     <property name="suffix" value=".jsp"></property>
   </bean>
 </list>
     </property>
  </bean> 



</beans>

3 个答案:

答案 0 :(得分:0)

您的架构位置声明不正确。

而不是

xsi:schemaLocation="http://www.springframework.org/schema/beans  
            http://www.springframework.org/schema/beans/spring-beans.xsd    
        http://www.springframework.org/schema/mvc/spring-mvc  
            http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd 
        http://www.springframework.org/schema/aop  
            http://www.springframework.org/schema/mvc/spring-aop.xsd    
         http://www.springframework.org/schema/tx 
            http://www.springframework.org/schema/tx/spring-tx.xsd 
         http://www.springframework.org/schema/context  
            http://www.springframework.org/schema/context/spring-context.xsd"

使用

xsi:schemaLocation=" http://www.springframework.org/schema/beans/spring-beans.xsd    
            http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd 
            http://www.springframework.org/schema/mvc/spring-aop.xsd    
            http://www.springframework.org/schema/tx/spring-tx.xsd 
            http://www.springframework.org/schema/context/spring-context.xsd"

答案 1 :(得分:0)

您的aop xsd位置错误。请更正它。它应该是

http://www.springframework.org/schema/aop/spring-aop.xsd

而不是

http://www.springframework.org/schema/mvc/spring-aop.xsd

然后mvc xsi:schemaLocation应为

http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"

而不是

http://www.springframework.org/schema/mvc/spring-mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd"

我希望这个帮助

答案 2 :(得分:0)

由于你无法从我给出的第一个答案中找出你的错误,只需用你的xsi:schemaLocation替换

xsi:schemaLocation="http://www.springframework.org/schema/beans  
        http://www.springframework.org/schema/beans/spring-beans.xsd    
    http://www.springframework.org/schema/mvc  
        http://www.springframework.org/schema/mvc/spring-mvc.xsd 
    http://www.springframework.org/schema/aop  
        http://www.springframework.org/schema/aop/spring-aop.xsd    
     http://www.springframework.org/schema/tx 
        http://www.springframework.org/schema/tx/spring-tx.xsd 
     http://www.springframework.org/schema/context  
        http://www.springframework.org/schema/context/spring-context.xsd"
相关问题