springmvc 中mvc:exclude-mapping遇到的问题

今天一天都花在了mvc:exclude-mapping这个配置上,表示很无语。

一开始这样写的

  <mvc:interceptors>
<mvc:interceptor>
<mvc:exclude-mapping path="/api"/>
<bean class="com.ljf.interceptor.LoginInterceptor"></bean>
</mvc:interceptor>
</mvc:interceptors>

       写的过程中发现eclipse没提示,然后运行也出错。一查发现http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd不支持exclude-mapping 。好吧,改成3.2是有提示了,但是运行报错,发现了以元素 'mvc:exclude-mapping' 开头的无效内容。应以 '{"http://www.springframework.org/schema/mvc":mapping}' 之一开头。

好吧,当时没仔细思考这句话导致了接下来的绕圈,虽然这个绕圈让我知道了spring对xsd文件的一系列相关的处理。

循着这个错我以为是xml解析器还是没读到3.2.xsd文件,于是开始查询spring对本地xsd文件的处理。然后知道了spring为了防止断网等不可控因素在jar包里都准备好了各个版本的xsd文件,好吧,连版本升级都考虑到了。jar包META-INF下的spring.schemas,spring.handlers指示(映射)你在xml文件中配置的命名空间以及xsi:schemaLocation对应的uri,指示去jar包的org/springframework/web/servlet/config下去找相关的处理类以及xsd文件。我找到了其中的xsd文件,发现没什么问题。那按道理应该不会有错啊,于是我怀疑本地xsd文件写错了?于是把相关文件全删了,好吧,确实找不到了。我连上了网让它去网上获取xsd,结果找到了,但还是报错。我郁闷了,百度原因,发现又扯到了maven插件的原因,好吧,我又新建了非maven构建的web项目,结果还是报错,那就说明跟maven无关。至此,我已经想尽了并排除了所有原因,呆呆的看着那个错误信息:发现了以元素 'mvc:exclude-mapping' 开头的无效内容。应以 '{"http://www.springframework.org/schema/mvc":mapping}' 之一开头,卧槽,不会是我用法有问题吧,立马加上<mvc:mapping path="/**"/> ,

 <mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**"/> 
<mvc:exclude-mapping path="/dd"/>
<bean class="com.ljf.interceptor.LoginInterceptor"></bean>
</mvc:interceptor>
</mvc:interceptors>

好吧,果然。原谅我单纯的以为exclude时不需要include。

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值