Spring v3 找不到元素 'mvc:resources' 的声明

2022-09-01 16:53:49

当前正在运行

雄猫: v6

弹簧工具套件:v2.7.2

弹簧框架:弹簧-webmvc-3.0.5

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: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-3.0.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/context
          http://www.springframework.org/schema/context/spring-context-3.0.xsd">

      <mvc:annotation-driven />

      <mvc:resources mapping="/resources/**" location="/resources" />

      <context:component-scan base-package="com.app.mvc" />

 </beans>

网络.xml部分代码

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

服务对象

web.xml将所有 url 映射到 servlet,但 mvc:resources 映射静态文件除外。

错误

  • cvc-complex-type.2.4.c:匹配的通配符是严格的,但找不到元素'mvc:annotation-driven'的声明。app-servlet.xml /app/www/WEB-INF

  • cvc-complex-type.2.4.c:匹配的通配符是严格的,但找不到元素'mvc:resources'的声明。app-servlet.xml /app/www/WEB-INF

已知问题

问题

如何修复编译错误以使mvc:resources正常工作?

我已经为此挖掘了大约2个小时,还没有可靠的答案......


答案 1

在你的春季上下文中,xml mvc 命名空间 url 应与 schemaLocation 中的 url 匹配。像这样:

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

这是一个标准的 XML 命名空间声明。命名空间 url 是一个唯一的 id,然后映射到 xsi:schemaLocation 中的实际架构位置。


答案 2

当使用Spring命名空间url时,我通常不使用版本信息,这在大多数情况下都很好。您可能想尝试命名空间 url

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

而不是

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

推荐