当前位置: 首页 > 知识库问答 >
问题:

Spring:/**和/*关于路径的差异

艾星河
2023-03-14

我的web.xml的ResourceServlet看起来像

<servlet-name>Resource Servlet </servlet-name>
<url-pattern>/resources/*</url-pattern>

但不幸的是我得到了这个错误:

警告org.springframework.js.resources.resourceServlet-不允许尝试访问/images/flash.swf处的受保护资源。

我觉得很奇怪,因为images文件夹中的所有映像都被访问了,但我的.swf怎么会被“保护”呢?

之后,我决定将/resources/*更改为/resources/**,它最终起作用了。我的问题是...为什么?

共有1个答案

景翰音
2023-03-14

这是在ApacheAnt中使用的路径模式,spring团队实现了它,并在整个框架中使用它。

有关参考,请参见AntPathMatcher的javadoc(最新的javadoc似乎有问题,所以我链接了一个旧的javadoc)。

回到你的问题,根据文件,它只有3条规则:

  1. 匹配一个字符
  2. *匹配零个或多个字符
  3. **匹配路径中的零个或多个“目录”
 类似资料:
  • 问题内容: 引用路径时,两个星号而不是一个星号有什么区别? 之前我在调试Spring 3项目。我正在尝试使用添加.swf 我的web.xml的ResourceServlet看起来像 但是不幸的是我遇到了这个错误: 我发现这真的很奇怪,因为访问了该文件夹中的所有图像,但是为什么.swf受到了“保护”? 之后,我决定将更改为,终于可以了。我的问题是…为什么? 问题答案: 这是Spring团队使用的路径

  • 问题内容: 这个特殊的前缀指定必须获取与给定名称匹配的所有类路径资源(内部,这实际上是通过ClassLoader.getResources(…)调用发生的),然后合并以形成最终的应用程序上下文定义。 有人可以解释吗? 使用和不使用星号有什么区别? 问题答案: 这只是意味着,将拾取类路径上所有jar中文件夹下的所有appContext.xml文件,并将其加入一个大的应用程序上下文中。 相反,将仅加载

  • 我是Stack Overflow的新手,也是编程的新手,所以希望这有意义。我正在编写一个java程序,在特定目录中创建一个文件。我的程序在Windows上运行并在正确的位置创建一个文件,但在Mac上不起作用。我尝试过将反斜杠更改为单个正斜杠,但不起作用。我应该如何更改代码以使其适用于Mac或理想情况下适用于两者?我在下面放了一些代码。 提前感谢! 为文件创建新路径的类: 获取用户输入文件放置位置的

  • 本文向大家介绍数据路径之间的差异,包括了数据路径之间的差异的使用技巧和注意事项,需要的朋友参考一下 数据路径 CPU有两个部分,数据部分和控制部分。数据部分也称为数据路径。寄存器,ALU和互连总线共同构成一条数据路径。数据路径分为三种类型: 单周期 多周期 管道 以下是单周期,多周期和管道数据路径之间的一些重要区别。 序号 键 单周期 多周期 管道 1 单周期具有一个CPI(每个指令的时钟周期)。

  • 考虑这个使用Spring Boot 2.1.2和Spring Cloud Greenwich.release的基于微服务的应用程序: 每个微服务使用JSESSIONID cookie来标识自己的专用Servlet会话(即没有与Spring session和Redis共享的全局唯一会话)。 外部传入请求由Spring Cloud Gateway路由(以及通过Spring Cloud Netflix使

  • 我的目标是开发一个单一的骆驼路线来映射这些服务器,接受路径中服务器的名称。类似于这样: 我的(简化且不起作用)Blueprint.xml: 问题是,我不知道如何从路径中移除/center、/north或/south,因此头部被传递给目标服务,而目标服务不知道如何处理它。调用: