[JAVA] Priorité d'accès aux fichiers statiques dans Spring Boot

Une note sur l'accès aux fichiers statiques dans spring-boot.

Où les fichiers statiques peuvent être placés dans Spring Boot

spring boot est le paramètre par défaut, projectDirectory/src/main/resources/META-INF/resources/ projectDirectory/src/main/resources/ projectDirectory/src/main/resources/static/ projectDirectory/src/main/resources/public/
En le plaçant ci-dessous, l'accès est possible.

Par exemple, Lorsque HTML est placé dans chaque répertoire comme indiqué ci-dessous

project root
  └─ src
      └─ main
          └─ resources
              ├─ static
              |   └─ html
              |       └─ 1.html
              ├─ public
              |   └─ html
              |       └─ 2.html
              ├─ resources 
              |   └─ html
              |       └─ 3.html
              └─ META-INF
                  └─ resources
                      └─ html
                          └─ 4.html

À chaque HTML, http://localhost:8080/1.html http://localhost:8080/2.html http://localhost:8080/3.html http://localhost:8080/4.html Il devient possible d'accéder sous la forme de.

Priorité d'accès aux fichiers statiques dans Spring Boot

Si un fichier avec le même nom existe dans chaque répertoire comme indiqué ci-dessous

project root
  └─ src
      └─ main
          └─ resources
              ├─ static
              |   └─ html
              |       └─ test.html
              ├─ public
              |   └─ html
              |       └─ test.html
              ├─ resources 
              |   └─ html
              |       └─ test.html
              └─ META-INF
                  └─ resources
                      └─ html
                          └─ test.html

Lorsque vous accédez à http: // localhost: 8080 / test.html, META-INF / resources / html / test.html est retourné

L'ordre de recherche des fichiers statiques est

  1. resources/META-INF/resources/
  2. resources/
  3. resources/static/
  4. resources/public/

La recherche est effectuée dans l'ordre de, et celle trouvée en premier est renvoyée à l'écran.

Pensez à l'utiliser dans un projet

  1. resources/META-INF/resources/
  2. resources/

Ne semble pas convenir pour placer des fichiers statiques, car il contient également des fichiers de configuration.

Lors de son utilisation dans un projet

  1. resources/static/
  2. resources/public/

Je pense qu'il sera placé.

De nom,

Les choses qui ne changent pas, comme les bibliothèques, dans resources / static /. resources / public / Place des css, js, etc. spécifiques au projet

C'est comme ça? .. ..

Hmmm. Je ne connais pas les meilleures pratiques ici, donc je ne sais pas si tout va bien. Quelqu'un qui enseigne et sait (; ∀ ;)

Recommended Posts

Priorité d'accès aux fichiers statiques dans Spring Boot
Mémorandum de téléchargement de fichier local avec Spring Boot
Comment se lier avec un fichier de propriétés dans Spring Boot
Spécifiez le codage des ressources statiques dans Spring Boot
Multi-projets Spring Boot 2 avec Gradle
Téléchargement de fichiers avec Spring Boot
Changements majeurs dans Spring Boot 1.5
NoHttpResponseException dans Spring Boot + WireMock
Priorité de réglage externe Spring Boot
Spring Boot Hello World dans Eclipse
Développement d'applications Spring Boot dans Eclipse
Écrire du code de test avec Spring Boot
API RESTful d'autorisation d'accès au démarrage de printemps
Implémenter l'API REST avec Spring Boot
Qu'est-ce que @Autowired dans Spring Boot?
Implémenter l'application Spring Boot dans Gradle
Comment utiliser Thymeleaf avec Spring Boot
Intégré dans Spring Boot à l'aide d'un fichier de définition de bean nommé application.xml
Qu'est-ce qu'un fichier .original Spring Boot?
Lancer un (ancien) projet Spring Boot avec IntelliJ
Sortie du journal Spring Boot au format json
Créer un projet Java Spring Boot avec IntelliJ
Desserrer la vérification de la syntaxe de Thymeleaf dans Spring Boot
[Entraine toi! ] Affichez Hello World avec Spring Boot
Utiliser la méthode de requête DynamoDB avec Spring Boot
DI SessionScope Bean dans le filtre Spring Boot 2
Comment diviser un fichier de message Spring Boot
Modifier le délai d'expiration de la session dans Spring Boot
Bean de sortie au format JSON au printemps
Étapes pour rendre Spring Boot capable de faire référence à la valeur dans le fichier de propriétés
Cookie SameSite dans Spring Boot (Spring Web MVC + Tomcat)
Testez le contrôleur avec Mock MVC dans Spring Boot
Traitement asynchrone avec exécution régulière dans Spring Boot
Sortie des journaux de demande et de réponse avec Spring Boot
Défi Spring Boot
Utiliser le filtre de servlet avec Spring Boot [compatible Spring Boot 1.x, 2.x]
Comment ajouter un chemin de classe dans Spring Boot
Conseils Java - Créez un projet Spring Boot avec Gradle
Forme de botte de printemps
Comment définir des variables d'environnement dans le fichier de propriétés de l'application Spring Boot
Spring Boot Rappelez-vous
gae + botte à ressort
Le nom du fichier joint a été déformé dans le courrier de Spring Boot, donc des contre-mesures
Annotations utilisées dans les outils de gestion des tâches Spring Boot
[Spring Boot] Comment se référer au fichier de propriétés
Afficher la tâche Gradle dans le projet Spring Boot
Inclure le pot externe dans le package avec Spring boot2 + Maven3
[Note] Fichier de configuration lors de l'utilisation de Logback avec Spring Boot
Exécution asynchrone des requêtes examinée dans Spring Boot 1.5.9
Accédez au fichier war dans le répertoire racine de Tomcat
Inclure l'image dans le fichier jar avec la méthode statique java
Accédez au h2db intégré de Spring Boot avec jdbcTemplate
Comment créer un projet Spring Boot dans IntelliJ
SSO avec GitHub OAuth dans l'environnement Spring Boot 1.5.x
Comment utiliser CommandLineRunner dans Spring Batch of Spring Boot
Testez la classe injectée sur le terrain dans le test de démarrage Spring sans utiliser le conteneur Spring
Jusqu'à ce que vous commenciez à développer avec Spring Boot dans eclipse 1
Comment tester l'écran de téléchargement de fichiers avec Spring + Selenium
Essayez gRPC dans le projet Spring Boot et Spring Cloud (Mac OS)
Présentez swagger-ui à l'API REST implémentée dans Spring Boot
Jusqu'à ce que vous commenciez à développer avec Spring Boot dans eclipse 2