在Spring Boot应用中,静态资源(包括首页)可以放在特定的位置以便于自动加载和提供服务。Spring Boot会自动配置静态资源的路径和位置,默认情况下,静态资源应放在以下几个位置之一:
默认静态资源位置
-
src/main/resources/static
- 这是最常用的位置,Spring Boot会自动将此目录中的文件作为静态资源进行处理。你可以在这里放置静态文件,如HTML、CSS、JavaScript、图片等。
- 首页文件(如
index.html
)放在此目录下的根位置。
src └── main └── resources └── static └── index.html
-
src/main/resources/public
- 这是另一个用于存放静态资源的目录。Spring Boot也会将此目录中的文件作为静态资源处理。
public
目录的优先级与static
目录相同。 - 首页文件也可以放在此目录下的根位置。
src └── main └── resources └── public └── index.html
- 这是另一个用于存放静态资源的目录。Spring Boot也会将此目录中的文件作为静态资源处理。
-
src/main/resources/resources
- 这是一个较少用的位置,但Spring Boot也会处理这个目录中的静态资源。注意,此目录与
static
和public
的处理方式相同。
src └── main └── resources └── resources └── index.html
- 这是一个较少用的位置,但Spring Boot也会处理这个目录中的静态资源。注意,此目录与
-
src/main/resources/META-INF/resources
- 这个位置通常用于提供静态资源给Java Servlet容器。如果你将静态资源放在这里,它们将被处理为Web应用的资源。
src └── main └── resources └── META-INF └── resources └── index.html
自定义静态资源位置
如果你需要自定义静态资源的存放位置,可以通过配置WebMvcConfigurer
来指定额外的静态资源位置。例如:
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/**")
.addResourceLocations("classpath:/custom-static/");
}
}
在这个配置中,/custom-static/
目录下的静态资源将被暴露,并可以通过/
路径访问。
访问首页
一旦你将index.html
放置在上述任意一个默认位置,当你启动Spring Boot应用并访问根URL(/
)时,Spring Boot会自动提供index.html
文件作为首页。
通过这些默认位置和配置,你可以方便地管理和访问静态资源,满足不同的应用需求。