Heim> Java> javaLernprogramm> Hauptteil

Was sind die statischen Ressourcenzuordnungsregeln von SpringBoot?

PHPz
Freigeben: 2023-05-13 16:28:06
nach vorne
1124 Leute haben es durchsucht

1. Statische Ressourcenzuordnungsregeln

Doppelklicken Sie im Projekt aufUmschaltoderStrg+N, um nachWebMvcAutoConfiguration zu suchen .class code>-Datei, die addResourceHandlers-Methode in der Datei lautet wie folgt: shiftctrl+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}); } }); } }
Nach dem Login kopieren

随后进入到getStaticLocations()方法可以发现变量 staticLocations 的取值如下:

"classpath:/META-INF/resources/"
"classpath:/resources/"
"classpath:/static/"
"classpath:/public/"

即项目运行时会到上述路径下寻找静态资源,也可以自定义静态资源路径,需在 application.properties 中配置:

spring.resources.static-locations=classpath:/folder1/,classpath:/folder2/

注:一旦自定义了静态文件夹的路径,则默认的静态资源路径就会失效。

2. 欢迎页

静态资源路径下的 index.html 文件会被/**所映射,当访问http://localhost:8080/时 ,会默认映射到静态资源文件夹下的 index.html。

遇到的问题

新建 index.html 文件后运行项目,访问http://localhost:8080/时会页面错误:

Was sind die statischen Ressourcenzuordnungsregeln von SpringBoot?

控制台报如下错误:

Was sind die statischen Ressourcenzuordnungsregeln von SpringBoot?

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

Geben Sie dann die Methode getStaticLocations()ein und Sie können den Wert der Variablen finden staticLocations wie folgt:

Was sind die statischen Ressourcenzuordnungsregeln von SpringBoot?"classpath:/META-INF/resources/"
"classpath:/resources/"
"classpath:/static/"
"classpath:/public/"# #
Das heißt, wenn das Projekt ausgeführt wird, sucht es im obigen Pfad nach statischen Ressourcen. Sie können den statischen Ressourcenpfad auch anpassen. was in application.properties konfiguriert werden muss:

spring.resources.static-locations=classpath:/folder1/,classpath:/folder2/##
# #Hinweis: Sobald der Pfad des statischen Ordners angepasst ist, schlägt der standardmäßige statische Ressourcenpfad fehl. ####2. Willkommensseite ####Die Datei index.html unter dem statischen Ressourcenpfad wird beim Zugriff auf http:/ zugeordnet. /localhost:8080/ wird standardmäßig index.html im statischen Ressourcenordner zugeordnet. ####Aufgetretene Probleme####Nach dem Erstellen der Datei index.html und dem Ausführen des Projekts tritt beim Zugriff auf http://localhost:8080/ ein Seitenfehler auf: ## # # Was sind die statischen Ressourcenzuordnungsregeln von SpringBoot# ## #Die Konsole hat den folgenden Fehler gemeldet: #### Statische SpringBoot-Ressourcen Was sind die Zuordnungsregeln?####Die Version von Spring Boot ist 2.7.8 und die Version von Tomcat ist 9.0.71. Spring Boot führt das Projekt über den eingebetteten Tomcat aus, muss jedoch auf die lokale Java-Umgebung angewiesen sein. Meine lokale Java-Version ist Java 1.8.0_261 (dh die Java 8-Version). Bei gemeinsamer Verwendung kann es zu Problemen kommen, die durch Versionskonflikte verursacht werden. Ändern Sie das SDK des Projekts auf jbr-11 JetBrains Runtime Version 11.0.10, um das Problem zu lösen: ##########JetBrains Runtime OK I Ich denke, es ist die Java-Laufumgebung, die mit IDEA geliefert wird. ##

Das obige ist der detaillierte Inhalt vonWas sind die statischen Ressourcenzuordnungsregeln von SpringBoot?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!