Heim >Java >javaLernprogramm >So erkunden Sie die Zuordnungsregeln statischer Ressourcen anhand des Quellcodes

So erkunden Sie die Zuordnungsregeln statischer Ressourcen anhand des Quellcodes

醉折花枝作酒筹
醉折花枝作酒筹nach vorne
2021-05-06 09:36:492292Durchsuche

Dieser Artikel führt Sie in die Methode zum Erkunden statischer Ressourcenzuordnungsregeln anhand des Quellcodes ein. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.

So erkunden Sie die Zuordnungsregeln statischer Ressourcen anhand des Quellcodes

Spring Boot – Erkunden Sie die Zuordnungsregeln statischer Ressourcen anhand des Quellcodes

Wenn wir ein Spring Boot-Projekt entwickeln, müssen wir viele statische Ressourcen wie CSS, JS und andere Dateien importieren

Wenn wir ein Web sind Anwendung, wir werden eine Webapp unter der Hauptanwendung haben. Früher haben wir alle Seiten darin importiert, richtig! Aber was ist mit unserem aktuellen Pom? Die Verpackungsmethode ist JAR. Kann SpringBoot also auf diese Weise Seiten für uns schreiben? Natürlich ist es möglich, aber SpringBoot hat Vorschriften zum Speicherort statischer Ressourcen!

Statische Ressourcenzuordnungsregeln

Die erste Zuordnungsregel

In SpringBoot befindet sich die Webkonfiguration von SpringMVC in der Konfigurationsklasse WebMvcAutoConfiguration; eine davon besteht darin, eine Ressourcenverarbeitungsmethode hinzuzufügen: addResourceHandlers (), der Quellcode lautet wie folgt.

@Override
		protected void addResourceHandlers(ResourceHandlerRegistry registry) {
			super.addResourceHandlers(registry);
			if (!this.resourceProperties.isAddMappings()) {
				logger.debug("Default resource handling disabled");
				return;
			}
			ServletContext servletContext = getServletContext();
			addResourceHandler(registry, "/webjars/**", "classpath:/META-INF/resources/webjars/");
			addResourceHandler(registry, this.mvcProperties.getStaticPathPattern(), (registration) -> {
				registration.addResourceLocations(this.resourceProperties.getStaticLocations());
				if (servletContext != null) {
					registration.addResourceLocations(new ServletContextResource(servletContext, SERVLET_LOCATION));
				}
			});
		}

WebJars besteht darin, Client-(Browser-)Ressourcen (JavaScript, CSS usw.) in JAR-Paketdateien zu packen, um eine einheitliche Abhängigkeitsverwaltung von Ressourcen zu erreichen. Das JAR-Paket von WebJars wird im zentralen Maven-Repository bereitgestellt.


Wir können auf der offiziellen Webjars-Website nach den benötigten Ressourcen suchen, Maven-Abhängigkeiten zu unseren Projekten hinzufügen und diese Ressourcen dann direkt verwenden.


Zum Beispiel möchten wir Jquery-Ressourcen importieren

<dependency>
    <groupId>org.webjars</groupId>
    <artifactId>jquery</artifactId>
    <version>3.6.0</version></dependency>

Nach dem Import können wir den Speicherort der Ressource finden und über den Ressourcenpfad darauf zugreifen. Die Ressourcen, die wir auf der Webjars-Website importieren, entsprechen alle der Struktur von Die folgende Abbildung zeigt: Über den Pfadzugriff wurde erfolgreich auf statische Ressourcen zugegriffen!

So erkunden Sie die Zuordnungsregeln statischer Ressourcen anhand des QuellcodesDie zweite Zuordnungsregel

Lassen Sie uns den Quellcode weiter analysieren

So erkunden Sie die Zuordnungsregeln statischer Ressourcen anhand des Quellcodes

getStaticPathpattern(): Holen Sie sich das statische Pfadmuster, klicken Sie hinein, um einen Blick auf den Quellcode zu werfen

public String getStaticPathPattern() {
		return this.staticPathPattern;
	}

Schauen Sie sich an Noch einmal der Quellcode von staticPathPattern

So erkunden Sie die Zuordnungsregeln statischer Ressourcen anhand des Quellcodes

bedeutet, dass alle statischen Ressourcen im aktuellen Verzeichnis identifiziert werden können, aber worauf genau bezieht sich das aktuelle Verzeichnis? Wir können es sehen, indem wir auf den Quellcode von resourcesProperties klicken. Der Quellcode lautet wie folgt:

So erkunden Sie die Zuordnungsregeln statischer Ressourcen anhand des QuellcodesDer obige Quellcode gibt unsere vier statischen Ressourcenpfade klar an. Solange die statischen Ressourcen in diesen vier Verzeichnissen verfügbar sind, können sie direkt abgerufen werden.

Testen wir es, füllen Sie zuerst das obige Verzeichnis aus und legen Sie dann eine js-Ressource im Ressourcenverzeichnis ab. /**

So erkunden Sie die Zuordnungsregeln statischer Ressourcen anhand des Quellcodes

Starten Sie den Springboot-Anwendungstest: Greifen Sie erfolgreich auf die statische Ressource zu!

Die in den folgenden vier Verzeichnissen gespeicherten statischen Ressourcen können von uns identifiziert werden: So erkunden Sie die Zuordnungsregeln statischer Ressourcen anhand des Quellcodes

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

Hinweis:

So erkunden Sie die Zuordnungsregeln statischer Ressourcen anhand des QuellcodesDer Zugriffspfad des ersten Verzeichnisses ist die Verzeichnisstruktur localhost:8080/webjars/resource und die folgende drei Zugriffspfade Für localhost:8080/Ressourcenname

Die Priorität der zweiten Zuordnungsregel ist: resources>static (Standard)>public

  • Passen Sie den statischen Ressourcenpfad an

  • Wir können ihn selbst über angeben Konfigurationsdatei, in welchen Ordnern wir statische Ressourcendateien ablegen müssen, wird in application.properties konfiguriert.
  • spring.resources.static-locations=classpath:/coding/,classpath:/cheng/

    Aus dem Quellcode unten können wir jedoch ersehen, dass die oben genannten vier Standardpfade ungültig sind, wenn der Ressourcenpfad angepasst wird. Daher ist es am besten, den Pfad nicht anzupassen, sondern einfach Springboot zu verwenden, um ihn automatisch für uns zu konfigurieren.

    if (!this.resourceProperties.isAddMappings()) {
    				logger.debug("Default resource handling disabled");
    				return;
    			}
Verwandte kostenlose Lernempfehlungen:

Java Basic Tutorial

Das obige ist der detaillierte Inhalt vonSo erkunden Sie die Zuordnungsregeln statischer Ressourcen anhand des Quellcodes. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen