【发布时间】:2012-09-16 03:57:59
【问题描述】:
当我们提到路径时,两个星号而不是一个星号有什么区别?
之前我正在调试我的 Spring 3 项目。我试图添加一个 .swf 使用
<spring:url var="flashy" value="/resources/images/flash.swf"/>
我的 web.xml 的 ResourceServlet 看起来像
<servlet-name>Resource Servlet </servlet-name>
<url-pattern>/resources/*</url-pattern>
但不幸的是,我收到了这个错误:
WARN org.springframework.js.resources.ResourceServlet - An attempt to access a protected resource at /images/flash.swf was disallowed.
我发现这很奇怪,因为我在 images 文件夹中的所有图像都被访问了,但我的 .swf 怎么会被“保护”?
后来,我决定把/resources/*改成/resources/**,终于成功了。我的问题是……为什么?
【问题讨论】:
-
您确定
/resources/**在<url-pattern>中有效吗? -
附带说明,org.springframework.js.resource.ResourceServlet 已弃用。来自Spring Web Flow Reference Guide:“请注意,从版本 3.0.4 开始,Spring 框架包括 ResourceServlet 的替代品(请参阅Spring Framework documentation)。”
标签: spring web resources url-pattern