在我的Spring Web Application项目中,我已经配置了mvc:resources
标签,以便从DispatcherServlet映射中排除CSS,JS,图像...
现在,我还需要排除foobar.txt,并且像其他静态资源一样放置在/webapp
目录下,但是...这不起作用。
这是我的代码段
<mvc:resources mapping="/assets/**" location="/assets/" />
<mvc:resources mapping="/foobar.txt" location="/foobar.txt" />
我的文件夹结构是:
/webapp
/webapp/assets
/webapp/foobar.txt
/webapp/...
似乎第一个mvc:resources标记(资产)有效,而第二个(version.txt)无效。
我得到404页。
这些是控制台日志中的区别。
2018-07-12 13:58:25,093 DEBUG [http-nio-8080-exec-6] (DispatcherServlet.java:845) - DispatcherServlet with name 'dispatcher' processing GET request for [/mscbackend/foobar.txt]
2018-07-12 13:58:25,093 DEBUG [http-nio-8080-exec-6] (AbstractHandlerMethodMapping.java:297) - Looking up handler method for path /foobar.txt
2018-07-12 13:58:25,096 DEBUG [http-nio-8080-exec-6] (AbstractHandlerMethodMapping.java:305) - Did not find handler method for [/foobar.txt]
2018-07-12 13:58:25,097 DEBUG [http-nio-8080-exec-6] (AbstractUrlHandlerMapping.java:123) - Mapping [/foobar.txt] to HandlerExecutionChain with handler [ResourceHttpRequestHandler [locations=[ServletContext resource [/foobar.txt]], resolvers=[org.springframework.web.servlet.resource.PathResourceResolver@66894a78]]] and 1 interceptor
2018-07-12 14:08:27,165 DEBUG [http-nio-8080-exec-7] (DispatcherServlet.java:845) - DispatcherServlet with name 'dispatcher' processing GET request for [/mscbackend/assets/css/style.css]
2018-07-12 14:08:27,165 DEBUG [http-nio-8080-exec-7] (AbstractHandlerMethodMapping.java:297) - Looking up handler method for path /assets/css/style.css
2018-07-12 14:08:27,169 DEBUG [http-nio-8080-exec-7] (AbstractHandlerMethodMapping.java:305) - Did not find handler method for [/assets/css/style.css]
2018-07-12 14:08:27,169 DEBUG [http-nio-8080-exec-7] (AbstractUrlHandlerMapping.java:168) - Matching patterns for request [/assets/css/style.css] are [/assets/**]
奇怪的是,在另一个类似的项目中,相同的配置可以正常工作。
预先感谢您的支持。
答案 0 :(得分:0)
尝试以下配置。
<mvc:resources location="/", mapping="/resources/**"/>
或者如果您想为特定位置提供类路径,请在下面使用。
<mvc:resources location="/, classpath:/META-INF/web-resources/" mapping="/resources/**"/>
答案 1 :(得分:0)
尝试此配置。
<mvc:resources mapping="/resources/**" location="/resources/" />
我不知道为什么,但是有时候它能起作用。你可以试试看。