我有以下结构
我使用的依赖项:
Spring启动机
Spring启动机测试
Spring启动机web
Spring Boot起动器
Spring启动安全
thymeleaf-extras-springsecurity5型
mysql连接器java
Spring启动机数据jpa
@EnableWebMvc
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/icon/**").addResourceLocations("classpath:/static/img/icon/");
registry.addResourceHandler("/**").addResourceLocations("classpath:/static/");
}
}
我在index.html中尝试过这些
<img src="icon/signin.svg">
<img src="/icon/signin.svg">
<img src="./icon/signin.svg">
<img src="../static/img/icon/signin.svg">
没有成功。另外我试着把资源目录移到主目录,什么都没有。你知道吗?
3条答案
按热度按时间xn1cxnb41#
当你添加
@EnableWebMvc
您可以通过springboot覆盖所有的自动配置。这应该起作用:另外,我刚刚看了你的目录结构图片,我敢肯定,除非我的眼睛是关闭的是,你的“资源”文件夹下没有
src/main
. 它应该就在table旁边java
文件夹:kmb7vmvb2#
您可以尝试如何在springboot2.2.6中提供静态内容?并链接到同一问题的其他答案。由于您使用的是springsecurity,您可能需要查看您的安全配置,因为从springboot2.0开始,静态资源在默认情况下是安全的https://spring.io/blog/2017/09/15/security-changes-in-spring-boot-2-0-m4
6ss1mwsb3#
这就是为什么这对我不好。从springboot2.0开始,如果您使用@enablewebsecurity,您必须手动定义哪些目录和文件可以访问,哪些人可以访问
在这种情况下,我让每个人都可以访问静态文件夹中的所有内容