[英]Spring mvc:resources is overridden by @RequestMapping?
我在一个控制器上有一个@RequestMapping:
@RequestMapping(value = { "/{folder}/{subFolder}/{page}"}, method = RequestMethod.GET)
在我的xml文件中,我定义了一个资源:
<mvc:resources mapping="/_resources/**" location="/_resources/" />
当我访问以下资源时,它由ResourceHttpRequestHandler处理:
http://www.example.com/_resources/logo.png
但是当我访问时:
http://www.example.com/_resources/extcss/bootstrap.css
它是由@RequestMapping处理的,而不是由ResourceHttpRequestHandler处理的,从而导致带有嵌套NumberFormatException的MethodArgumentTypeMismatchException导致“引导程序”不是数字。
我在其他项目中从未遇到过这个问题。
如何更改我的mvc:resources映射以包含子目录?
似乎@RequestMapping默认情况下会覆盖资源映射。
为了解决这个问题,我使用正则表达式将{page}路径变量更改为更严格的版本:{page:[0-9] +}。
现在,这两个url都可以正常工作,直到您开始使用仅在文件名中包含数字的资源,但这并不经常发生。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.