首页 文章

在Spring Boot中提供静态内容

提问于
浏览
0

我正在从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 回答

  • 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 .

相关问题