使用<mvc:resources>标记提供静态文件

时间:2016-08-05 19:43:42

标签: java spring spring-mvc

问题

我正在尝试提供一个简单的纯文本文件,其中包含字母&#39; abc&#39;通过我的Spring应用程序。通过做一些研究,看起来使用<mvc:resources />标签是我最好的选择,但我无法让它工作。

我在目录somefile中有一个静态文件.somedir,我想要服务而不必通过控制器路由请求。 somefile是目录中唯一的文件。如果用户导航到页面somedir/somefile,我想要提供该文件,以便&#39; abc&#39;在浏览器上可见。

我尝试了什么

我将此行添加到我的base-servlet.xml文件中:

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

当我在浏览器中测试我的应用程序时,出现file not found错误,导致我的服务器超时。

我能做什么的想法?

1 个答案:

答案 0 :(得分:0)

location默认情况下在classpath中搜索,您的配置等同于

<mvc:resources mapping="/.somedir/**" location="classpath:/.somedir/" />

要从文件系统提供文件,请指定file://协议:

<mvc:resources mapping="/.somedir/**" location="file:/full/path/to/dir/.somedir/" />

另见本文以及解释和示例:http://www.baeldung.com/spring-mvc-static-resources