我有webproject,其中包含src / main / webapp文件夹中的图像。我想将图像放在磁盘上的不同文件夹中。但我不知道如何管理访问此图像的请求。
我应该创建某种httpServlet
,如下所示:http://balusc.omnifaces.org/2007/07/fileservlet.html
或者当我使用带有java配置的Spring MVC时,有更合适和更简单的方法。
期待您的建议。
答案 0 :(得分:7)
使用弹簧mvc support for static resources,其location
属性为Spring Resource
,因此您可以使用file:
前缀
<resources mapping="/resources/**" location="file:/my/external/directory/" />
或
@Configuration
@EnableWebMvc
public class WebConfig extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/resources/**")
.addResourceLocations("file:/my/external/directory/");
}
}
@See Spring Reference Chapter 6.4 The ResourceLoader查找列出所有资源前缀的表
答案 1 :(得分:5)
在我的案例中,我将js和css资源放在webapp和e://images/
中的图像中。
对于这种情况,我使用两个mvc:resources
映射
<mvc:resources mapping="/resources/**" location="/resources/"/>
<mvc:resources mapping="/images/**" location="file:e://images/"/>
找到 e:&gt;的图片图像&gt; abc.jpg 使用....
<img src="../images/abc.jpg"/>
你也可以尝试<img src="/images/abc.jpg"/> or <img src="images/abc.jpg">
(如果不行)
webapp&gt;下链接的css / js资源&gt; js&gt; xyz.js 如下所示。
<script type='text/javascript' src='../resources/js/xyz.js'></script>