spring mvc资源映射到/ **

时间:2017-08-02 13:06:24

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

我在Spring网络应用程序中有经典情况,其中webapp文件夹包含带有JS或CSS文件的resources文件夹。

通常,我已经看到要映射对这些文件的访问权限,我们必须放置此标记

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

在spring web-app配置xml中。 我想知道是否有一些&#34;对比&#34;或者让我避免使用以下内容进行映射的风险:

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

这样资源内的每一个资源都可以使用#34;从&#34; /&#34;

开始映射

因此,例如我将使用

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

而不是

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

此时此刻,我看到的唯一后果是&#34;资源&#34;以外的其他资源。文件夹未被映射。但我问我是否还有安全理由。

1 个答案:

答案 0 :(得分:0)

这将映射资源处理程序的每个路径。我不确定是否存在任何安全风险,因为每个路径仍然只会查看资源文件夹。据推测资源文件夹内容不是敏感信息。但是你指出它并不灵活。

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

但是我建议不要这样做,因为你可以通过这种方式获得完全相同的行为,以免将来导致静态内容出现问题:

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