网站优化

网站优化

Products

当前位置:首页 > 网站优化 >

Spring Boot如何配置才能让静态资源被正确放行?

GG网络技术分享 2025-08-13 23:15 4


在Spring Boot应用中,静态材料的正确放行是构建高大性能Web应用的关键环节。这些个静态材料,如图片、CSS和JavaScript文件,直接关系到着用户体验和网站性能。本文将深厚入探讨怎么在Spring Boot中实现静态材料的正确配置,并给一系列实用技巧。

若需自定义静态材料路径,可通过`addResourceHandler`和`addResourceLocations`方法实现。`addResourceHandler`用于定义对外暴露的访问路径,而`addResourceLocations`则指定静态材料文件夹的实际路径。

@Configuration
public class MyMvcConfig implements WebMvcConfigurer {
    @Override
    public void addViewControllers {
        registry.addViewController.setViewName;
        registry.addViewController.setViewName;
    }
}

放行Swagger求

Swagger是流行的API文档工具,其文档UI的HTML和JavaScript文件通常位于Spring Boot应用的`classpath:/META-INF/resources/webjars/swagger-ui/{version}/`文件夹下。要正常访问,需开放相关URL。以下示例代码展示了怎么放行Swagger求:

@Configuration
@EnableSwagger2
public class SwaggerConfig implements WebMvcConfigurer {
    @Override
    public void addResourceHandlers {
        registry.addResourceHandler
                .addResourceLocations;
        registry.addResourceHandler
                .addResourceLocations;
    }
}

放行自定义文件类型

在Spring Boot应用中, 有时需要放行非常规文件类型,如PDF、TXT等。通过`ContentNegotiationConfigurer`,在`WebMvcConfigurer`的配置类中设置允许访问的文件类型。以下示例代码展示了怎么放行PDF文件:

@Configuration
public class MyWebConfigurer implements WebMvcConfigurer {
    @Override
    public void addResourceHandlers {
        registry.addResourceHandler.addResourceLocations;
    }
}

Spring Boot默认将全部位于`classpath:/static`、 `classpath:/public`和`classpath:/resources`下的文件夹作为静态材料文件夹,无需经过Controller映射,可直接通过浏览器路径访问。所以呢,只需将这些个文件夹中的静态文件放入相应路径下即可。

通过配置文件或Java配置类,能优雅地完成静态材料的配置。比方说 以下配置文件示例:

spring:
  resources:
    static-locations: classpath:/static/, classpath:/public/, classpath:/resources/

配置ContentNegotiation

要设置允许访问的文件类型,能用`ContentNegotiationConfigurer`。以下示例代码展示了怎么将PDF文件类型映射到`MediaType.APPLICATION_PDF`:

@Configuration
public class WebConfigurer implements WebMvcConfigurer {
    @Override
    public void configureContentNegotiation {
        configurer.mediaType;
    }
}

Spring Boot静态材料放行是应用开发的基础技能。本文介绍了用默认静态文件夹、 自定义静态文件夹路径、放行指定求路径、放行Swagger求和放行自定义文件类型等技巧。掌握这些个技巧,将有助于更灵活、高大效地开发Spring Boot应用。

兴许需要忽略求路径中包含静态材料文件名的有些。比方说 求路由为`/mypage`,但该页面需要引用静态材料,此时求路径中兴许包含`/mypage/js/myscript.js`等静态材料文件名。在这种情况下 能用`WebMvcConfigurer#addViewControllers`方法添加视图控制器,忽略这些个求。以下示例代码展示了怎么忽略全部匹配`**/js/**`和`**/css/**`的求:

@Configuration
public class MyMvcConfig implements WebMvcConfigurer {
    @Override
    public void addViewControllers {
        registry.addViewController.setViewName;
        registry.addViewController.setViewName;
    }
}

这些个观点。

标签: spring 指南 静态

提交需求或反馈

Demand feedback