Wie werden externe statische HTML-Dateien in Spring Boot Embedded Tomcat gewartet?

8

Ich bin neu in Spring Framework und Spring Boot.
Ich habe eine sehr einfache RESTful Spring Boot-Webanwendung implementiert.
Sie können den fast vollständigen Quellcode in einer anderen Frage sehen: Spring Boot: How JDBC-Datenquellenkonfiguration externalisieren?

Wie kann die App externe statische HTML-, CSS-js-Dateien bearbeiten? Zum Beispiel kann die Verzeichnisstruktur wie folgt aussehen:

%Vor%

Ich habe die Methode zum Erstellen einer .WAR-Datei gelesen, die statische HTML-Dateien enthält, aber da die WAR-Datei selbst bei der Änderung einzelner HTML-Dateien neu erstellt und erneut bereitgestellt werden muss, ist diese Methode inakzeptabel.

Eine genaue und konkrete Antwort ist vorzuziehen, da mein Wissen über den Frühling sehr begrenzt ist.

    
zeodtr 19.11.2013, 05:56
quelle

3 Antworten

5

Ich sehe eine weitere Ihrer Fragen , dass Sie tatsächlich den Pfad zu statischen Ressourcen in Ihrer Anwendung von den Standardwerten aus ändern können. Abgesehen von der Frage, warum Sie das tun möchten, gibt es mehrere mögliche Antworten.

  • Eins ist, dass Sie eine normale Spring MVC @Bean vom Typ WebMvcConfigurerAdapter bereitstellen und die Methode addResourceHandlers() verwenden können, um zusätzliche Pfade zu statischen Ressourcen hinzuzufügen (siehe WebMvcAutoConfiguration für die Standardwerte).
  • Ein anderer Ansatz besteht darin, die Funktionen ConfigurableEmbeddedServletContainerFactory zu verwenden, um den Servlet-Kontextstammpfad festzulegen.
  • Die vollständige "Kernoption" besteht darin, eine @Bean -Definition vom Typ EmbeddedServletContainerFactory bereitzustellen, die den Servlet-Container so einrichten, wie Sie es wollen. Wenn Sie eine der vorhandenen konkreten Implementierungen verwenden, erweitern sie die Abstract* -Klasse, die Sie bereits gefunden haben, so dass sie sogar einen Setter für eine Eigenschaft namens documentRoot haben. Sie können auch eine Menge gewöhnlicher Manipulationen mit @Bean vom Typ EmbeddedServletContainerCustomizer durchführen.
Dave Syer 20.11.2013, 08:18
quelle
3

Ist ausreichend, wenn Sie "-cp" angeben. Option im Befehl 'java -jar blabla.jar' und im aktuellen Verzeichnis ist 'statisch' Verzeichnis

    
pper 11.08.2014 13:17
quelle
0
___ qstnhdr ___ Wie werden externe statische HTML-Dateien in Spring Boot Embedded Tomcat gewartet? ___ tag123spring ___ Das Spring Framework ist ein Open-Source-Framework für die Anwendungsentwicklung auf der Java-Plattform. Im Mittelpunkt steht die umfassende Unterstützung von komponentenbasierten Architekturen, und es verfügt derzeit über ein Dutzend hochintegrierter Module. ___ tag123tomcat ___ Verwenden Sie dieses Tag für Fragen zu Apache Tomcat (oder einfach Tomcat, früher auch Jakarta Tomcat), bei dem es sich um einen von der Apache Software Foundation (ASF) entwickelten Open-Source-Servlet-Container handelt. Die meisten Fragen sollten auch ein Tag enthalten, das das Betriebssystem angibt. ___ tag123springboot ___ Spring Boot erleichtert die Erstellung von Spring-basierten Anwendungen und Services in Produktionsqualität mit minimalem Aufwand. Es benötigt eine rechtmeinende Sicht auf die Spring-Plattform, damit neue und bestehende Benutzer schnell zu den benötigten Bits gelangen. ___ antwort43350507 ___

Schauen Sie sich diese Dave Syers Antwort-Implementierung an .

Sie können das Dokumentenstammverzeichnis festlegen, das vom Webkontext verwendet wird, um statische Dateien mit ConfigurableEmbeddedServletContainer.setDocumentRoot(File documentRoot) .

Arbeitsbeispiel:

%Vor%

Jetzt können Sie Ihre App mit der Befehlszeile anpassen und Profile ( src\main\resources\application-myprofile.yml ):

%Vor%     
___ answer20090648 ___

Ich sehe eine weitere Ihrer Fragen , dass Sie tatsächlich den Pfad zu statischen Ressourcen in Ihrer Anwendung von den Standardwerten aus ändern können. Abgesehen von der Frage, warum Sie das tun möchten, gibt es mehrere mögliche Antworten.

  • Eins ist, dass Sie eine normale Spring MVC %code% vom Typ %code% bereitstellen und die Methode %code% verwenden können, um zusätzliche Pfade zu statischen Ressourcen hinzuzufügen (siehe %code% für die Standardwerte).
  • Ein anderer Ansatz besteht darin, die Funktionen %code% zu verwenden, um den Servlet-Kontextstammpfad festzulegen.
  • Die vollständige "Kernoption" besteht darin, eine %code% -Definition vom Typ %code% bereitzustellen, die den Servlet-Container so einrichten, wie Sie es wollen. Wenn Sie eine der vorhandenen konkreten Implementierungen verwenden, erweitern sie die %code% -Klasse, die Sie bereits gefunden haben, so dass sie sogar einen Setter für eine Eigenschaft namens %code% haben. Sie können auch eine Menge gewöhnlicher Manipulationen mit %code% vom Typ %code% durchführen.
___ qstntxt ___

Ich bin neu in Spring Framework und Spring Boot.
Ich habe eine sehr einfache RESTful Spring Boot-Webanwendung implementiert.
Sie können den fast vollständigen Quellcode in einer anderen Frage sehen: Spring Boot: How JDBC-Datenquellenkonfiguration externalisieren?

Wie kann die App externe statische HTML-, CSS-js-Dateien bearbeiten? Zum Beispiel kann die Verzeichnisstruktur wie folgt aussehen:

%Vor%

Ich habe die Methode zum Erstellen einer .WAR-Datei gelesen, die statische HTML-Dateien enthält, aber da die WAR-Datei selbst bei der Änderung einzelner HTML-Dateien neu erstellt und erneut bereitgestellt werden muss, ist diese Methode inakzeptabel.

Eine genaue und konkrete Antwort ist vorzuziehen, da mein Wissen über den Frühling sehr begrenzt ist.

    
___ answer25244228 ___

Ist ausreichend, wenn Sie "-cp" angeben. Option im Befehl 'java -jar blabla.jar' und im aktuellen Verzeichnis ist 'statisch' Verzeichnis

    
___
wildloop 11.04.2017 15:39
quelle

Tags und Links