Double-cliquez surshiftouctrl+Ndans le projet pour rechercher le fichierWebMvcAutoConfiguration.classet la méthode addResourceHandlers dans le fichier Comme suit :shift或ctrl+N搜索WebMvcAutoConfiguration.class文件,文件中的addResourceHandlers方法如下:
public void addResourceHandlers(ResourceHandlerRegistry registry) { if (!this.resourceProperties.isAddMappings()) { logger.debug("Default resource handling disabled"); } else { this.addResourceHandler(registry, "/webjars/**", "classpath:/META-INF/resources/webjars/"); this.addResourceHandler(registry, this.mvcProperties.getStaticPathPattern(), (registration) -> { registration.addResourceLocations(this.resourceProperties.getStaticLocations()); if (this.servletContext != null) { ServletContextResource resource = new ServletContextResource(this.servletContext, "/"); registration.addResourceLocations(new Resource[]{resource}); } }); } }
随后进入到getStaticLocations()方法可以发现变量 staticLocations 的取值如下:
"classpath:/META-INF/resources/"
"classpath:/resources/"
"classpath:/static/"
"classpath:/public/"
即项目运行时会到上述路径下寻找静态资源,也可以自定义静态资源路径,需在 application.properties 中配置:
spring.resources.static-locations=classpath:/folder1/,classpath:/folder2/
注:一旦自定义了静态文件夹的路径,则默认的静态资源路径就会失效。
静态资源路径下的 index.html 文件会被/**所映射,当访问http://localhost:8080/时 ,会默认映射到静态资源文件夹下的 index.html。
遇到的问题
新建 index.html 文件后运行项目,访问http://localhost:8080/时会页面错误:

控制台报如下错误:

Spring Boot 的版本是 2.7.8,tomcat 的版本是 9.0.71。Spring Boot 通过内嵌的 tomcat 来运行项目,但需要依靠本地的 java 环境,我本地的 java 版本是 Java 1.8.0_261(即 java 8 版本),一般 java 8 和 tomcat 8.x.x 配套使用,这里可能是版本冲突导致的问题。将项目的 SDK 改为jbr-11 JetBrains Runtime version 11.0.10rrreee
getStaticLocations()et vous pourrez trouver la valeur de la variable staticLocations comme suit :
"classpath:/META- INF/resources/"
"classpath :/resources/"
"classpath:/static/"
"classpath:/public/"
C'est-à-dire que lorsque le projet est en cours d'exécution, il recherchera les ressources statiques dans le chemin ci-dessus, qui peut également être personnalisé. Le chemin des ressources statiques doit être configuré dans application.properties :
spring.resources.static-locations=classpath:/folder1/. ,classpath:/folder2/Remarque : Une fois que le fichier statique est un chemin de dossier personnalisé, le chemin de ressource statique par défaut ne sera pas valide. 2. Page d'accueilLe fichier index.html sous le chemin de la ressource statique sera mappé par
/**Lors de l'accès à http://localhost:8080/, il sera mappé à static. ressources par défaut index.html sous le dossier. Problèmes rencontrésAprès avoir créé un nouveau fichier index.html et exécuté le projet, une erreur de page se produira lors de l'accès à http://localhost:8080/ :
La console a signalé l'erreur suivante :
La version de Spring Boot est 2.7.8, et le la version de Tomcat est 9.0.71. Spring Boot exécute le projet via Tomcat intégré, mais il doit s'appuyer sur l'environnement Java local. Ma version Java locale est Java 1.8.0_261 (c'est-à-dire la version Java 8. Généralement, Java 8 et Tomcat 8.x.x le sont). utilisés ensemble. Cela peut être des problèmes causés par des conflits de versions. Changer le SDK du projet en
jbr-11 JetBrains Runtime version 11.0.10peut résoudre le problème : JetBrains Runtime peut être considéré comme l'environnement d'exécution Java fourni avec IDEA.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!
Étapes de création du projet SpringBoot
Quelle est la différence entre j2ee et springboot
La différence entre serveur et hôte cloud
L'installation de l'imprimante a échoué
Quelles sont les méthodes de maintenance informatique à distance ?
Comment insérer des images en CSS
vlookup correspond à deux colonnes de données
Comment modifier element.style