【问题标题】:spring mvc resources map to /**spring mvc 资源映射到 /**
【发布时间】:2017-08-02 13:06:24
【问题描述】:

我在 Spring web-app 中遇到了经典情况,其中 webapp 文件夹包含带有 JS 或 CSS 文件的资源文件夹。

通常,我已经看到,为了映射对这些文件的访问,我们必须放置这个标签

<mvc:resources mapping="/resources/**" location="/resources/" />

在 spring web-app 配置 xml 中。 我想知道是否有一些“对抗”或风险让我避免使用以下映射它们:

<mvc:resources mapping="/**" location="/resources/" />

这样,“resources”中的每个资源都以“/”开始映射

因此,例如,我将使用

导入 js 文件
<script type="text/javascript" src="/js/myfile.js">

而不是用

  <script type="text/javascript" src="/resources/js/myfile.js">

此时,我看到的唯一结果是“资源”文件夹之外的其他资源没有被映射。但我问我是否还有安全原因。

【问题讨论】:

标签: java spring spring-mvc model-view-controller resources


【解决方案1】:

这会将每个路径映射到资源处理程序。我不确定是否存在任何安全风险,因为每个路径仍然只会在资源文件夹中查找。大概资源文件夹的内容不是敏感信息。但它并不像您指出的那样灵活。

我相信@RequestMapping 将优先于资源映射,所以你应该没问题。

但我建议不要这样做,因为您可以通过这种映射方式获得完全相同的行为,而不会在未来导致静态内容出现问题:

<mvc:resources mapping="/js/**" location="/resources/js/" />

【讨论】:

    猜你喜欢
    • 2015-02-26
    • 2014-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-06
    • 2014-04-13
    相关资源
    最近更新 更多