Spring启动没有将图像从src / main / resources路径加载到jsp中

时间:2017-06-29 12:12:14

标签: java html jsp spring-boot

我有一个图像文件

enter image description here

这是我在Configuration类中的配置。

private static final String[] CLASSPATH_RESOURCE_LOCATIONS = {
        "classpath:/META-INF/resources/", "classpath:/resources/**",
        "classpath:/static/**", "classpath:/public/" };


public void addResourceHandlers(ResourceHandlerRegistry registry) {
    registry.addResourceHandler("/**").addResourceLocations(CLASSPATH_RESOURCE_LOCATIONS);

在Jsp内部我无法在div标签下加载图像

<div id="image">
        <p>
            <img src="/images/reviewCount.jpg" width="600" height="400" border="0" usemap="#chart">
        </p>

我试过

1)给出绝对路径,如src / main / resources / static / images / reviewCount.jpg

2)src="{/images}/reviewCount.jpg"

这两种方法都采用了葡萄酒。

任何能够轻视的人都会受到赞赏。

TIA。

问候 维诺德

3 个答案:

答案 0 :(得分:1)

您必须将所有images, css, js个文件放在webapp文件夹中..即webapp/resources

如果您将应用程序打包为 jar ,请不要使用src/main/webapp 这只适用于 war 打包,如果生成jar,大多数构建工具都会忽略它。

默认情况下,在Spring启动时,资源会映射到/**,但您可以通过spring.mvc.static-path-pattern进行调整。例如,可以按如下方式将所有资源重新定位到/resources/**

spring.mvc.static-path-pattern=/resources/**

here

了解详情

答案 1 :(得分:1)

这是一个错字。您在 static/images 文件夹中有 reviewCount.png,并且您从 div 标签中引用了 reviewCount.jpg。

答案 2 :(得分:0)

Spring Boot会自动映射资源中的静态文件夹以提供静态内容。只需输入如下图像:enter image description here