spring配置mvc:default-servlet-handler 报错了

错误:cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'mvc:default-
 servlet-handler'.

应该是对应的xsd文件找不到,Ctrl单机http://www.springframework.org/schema/mvc/spring-mvc.xsd无法找到网页。

尝试在http://www.springframework.org/schema/mvc/spring-mvc.xsd后添加版本号后正常运行。

网上查询得到:

spring在加载xsd文件时总是先试图在本地查找xsd文件(spring的jar包中已经包含了所有版本的xsd文件),如果没有找到,才会转向去URL指定的路径下载。

解决方法,把所有spring配置文件中url形式的xsd路径转换成指向本地xsd文件的classpath形式的路径,例如:classpath:org/springframework/beans/factory/xml/spring-beans-2.5.xsd

是否给xsd配置版本号的问题。

Spring很贴心,把旧版本的XSD文件全放在本地了。这样可以防止升级了Spring版本,而配置文件里用的还是旧版本的XSD文件,然后断网了,应用启动不了。我们还可以看到,在没有配置版本号时,用的就是当前版本的XSD文件

不要在Spring的配置里,配置上XSD的版本号
因为如果没有配置版本号,取的就是当前jar里的XSD文件,减少了各种风险。
而且这样约定大于配置的方式很优雅。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值