在Spring Boot中提供静态内容

时间:2015-08-07 04:24:15

标签: spring-boot

我正在从Spring Boot开发一个新的Web应用程序poc。我在战争中的应用程序的包装类型。在这个我想要的是在jsp上显示一些内容。为此,我已经创建了一个小的jsp,并且我已经放入资源/静态文件夹中的requierd css / images / js文件。所以我的静态文件夹包含css / images / js文件夹。我在配置文件中添加了以下代码。我的配置来自WebMvcConfigurerAdapter

public void addResourceHandlers(ResourceHandlerRegistry registry) {
    String[] pathPatterns = {"/components/**", "/images/**", "/scripts/**", "/styles/**"};
    String[] resourceLocations = {"classpath:/static/components/", "classpath:/static/images/", "classpath:/static/scripts/, classpath:/static/styles/"};
    registry.addResourceHandler(pathPatterns).addResourceLocations(resourceLocations);
}

但是,我的jsp没有得到这些文件的引用。

JSP代码

如何解决上述问题..

第二个问题,根据Spring引用参考文档,它提供静态文件夹中的静态内容。这意味着我应该能够以下面的方式直接从我的静态文件夹中访问文件

http://localhost:8080/styles/main.css

但这也不起作用

第三个问题 - 静态内容由默认servlet提供..这是真的,默认情况下在Spring Boot应用程序中启用了默认servlet

请帮助

1 个答案:

答案 0 :(得分:1)

将静态资源放在src/main/resources/static文件夹中对我来说没有任何 addResourceHandlers 配置。例如,我在

有一个css文件
src/main/resources/static/public/css/styles.css

我从我的JSP中引用如下:

<link href="/public/css/styles.css" rel="stylesheet">

您应该将JSP放在src/main/webapp/WEB-INF内,并将打包设置为war而不是jar,因为Spring Boot中有the limitations of having JSPs