繁体   English   中英

Spring mvc:resources被@RequestMapping覆盖吗?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM