


Comment explorer les règles de mappage des ressources statiques via le code source
Cet article vous présentera comment explorer les règles de mappage de ressources statiques via le code source. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il sera utile à tout le monde.
Spring Boot - Explorez les règles de mappage des ressources statiques via le code source
Lorsque nous développons un projet Spring Boot, nous devons importer de nombreuses ressources statiques, telles que comme css, js et autres fichiers
Si nous sommes une application Web, il y aura une webapp sous notre main. Nous avions l'habitude d'y importer toutes les pages, n'est-ce pas ! Mais qu'en est-il de notre pom actuel, la méthode d'empaquetage est jar, alors SpringBoot peut-il écrire des pages pour nous de cette manière ? Bien sûr, c'est possible, mais SpringBoot a des réglementations sur l'emplacement des ressources statiques !
Règles de mappage des ressources statiques
La première règle de mappage
Dans SpringBoot, la configuration Web de SpringMVC se trouve dans la classe de configuration WebMvcAutoConfiguration ;
Il existe de nombreuses méthodes de configuration dans WebMvcAutoConfigurationAdapter ; l'une d'elles consiste à ajouter des méthodes de traitement des ressources : addResourceHandlers (), le code source est le suivant.
@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 consiste à regrouper les ressources du client (navigateur) (JavaScript, Css, etc.) dans des fichiers de package jar pour effectuer une gestion unifiée des dépendances des ressources. Le package jar de WebJars est déployé sur le référentiel central Maven.
Nous pouvons accéder au site officiel des webjars pour trouver les ressources dont nous avons besoin, ajouter des dépendances maven à nos projets, puis utiliser ces ressources directement.
Par exemple, nous voulons importer des ressources jquery
<dependency> <groupId>org.webjars</groupId> <artifactId>jquery</artifactId> <version>3.6.0</version></dependency>
Après l'importation, nous pouvons trouver l'emplacement de stockage de la ressource via le chemin de la ressource et y accéder. nous importons sur le site Web des webjars, tous sont conformes à La structure dans l'image ci-dessous
est accessible via le chemin et la ressource statique est accessible avec succès !
La deuxième règle de mappage
Continuons à analyser le code source
getStaticPathpattern() : obtenez le modèle de chemin statique, cliquez dedans et regardez le code source
public String getStaticPathPattern() { return this.staticPathPattern; }
Regardez le code source de staticPathPattern
/**
est le répertoire courant Toutes les ressources statiques du répertoire courant peuvent être identifiées, mais à quoi fait-elle référence exactement dans le répertoire courant ? On peut le voir en cliquant sur le code source de resourceProperties. Le code source est le suivant :
Le code source ci-dessus donne clairement nos quatre chemins de ressources statiques, donc tant que les ressources statiques dans ces quatre répertoires le sont, elles peuvent être obtenu directement.
Testons-le, complétons d'abord le répertoire ci-dessus, puis mettons une ressource js dans le répertoire des ressources
Démarrez le test de l'application Springboot : accédez avec succès au ressource statique !
Les ressources statiques stockées dans les quatre répertoires suivants peuvent être identifiées par nous :
"classpath:/META-INF/resources/""classpath:/resources/""classpath:/static/""classpath:/public/"
Remarque :
Chapitre Le chemin d'accès d'un répertoire est localhost:8080/webjars/resource structure de répertoires, et les trois chemins d'accès suivants sont localhost:8080/resource name
La priorité de la deuxième règle de mappage est :resources>static (par défaut)>public
Chemin de ressource statique personnalisé
Nous pouvons spécifier les dossiers que nous devons insérer via le fichier de configuration. les fichiers sont configurés dans application.properties ;
spring.resources.static-locations=classpath:/coding/,classpath:/cheng/
Cependant, nous pouvons voir dans le code source ci-dessous que si le chemin de la ressource est personnalisé, les quatre chemins par défaut ci-dessus ne seront pas valides, il est donc préférable de ne pas personnaliser le chemin, utilisez simplement Springboot pour le configurer automatiquement pour nous.
if (!this.resourceProperties.isAddMappings()) { logger.debug("Default resource handling disabled"); return; }
Recommandations d'apprentissage gratuites associées : Tutoriel de base Java
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Dans les projets réels, nous essayons d'éviter les transactions distribuées. Cependant, il est parfois vraiment nécessaire de procéder à un fractionnement des services, ce qui entraînera des problèmes de transactions distribuées. Dans le même temps, des transactions distribuées sont également demandées sur le marché lors des entretiens. Vous pouvez vous entraîner avec ce cas et parler de 123 lors de l'entretien.

Avec le développement de la mondialisation, de plus en plus de sites Web et d'applications doivent fournir un support multilingue et des fonctions d'internationalisation. Pour les développeurs, la mise en œuvre de ces fonctions n’est pas une tâche facile car elle nécessite de prendre en compte de nombreux aspects, tels que la traduction linguistique, les formats de date, d’heure et de devise, etc. Cependant, grâce au framework SpringBoot, nous pouvons facilement implémenter un support multilingue et des applications internationales. Tout d’abord, comprenons l’interface LocaleResolver fournie par SpringBoot. Lieu

Avec l’avènement de l’ère du Big Data, de plus en plus d’entreprises commencent à comprendre et à reconnaître la valeur du Big Data et à l’appliquer à leurs activités. La question qui se pose est de savoir comment gérer ce flux important de données. Dans ce cas, les applications de traitement du Big Data sont devenues quelque chose que chaque entreprise doit prendre en compte. Pour les développeurs, comment utiliser SpringBoot pour créer une application efficace de traitement du Big Data est également une question très importante. SpringBoot est un framework Java très populaire qui permet

Avec l’essor des monnaies numériques telles que Bitcoin, la technologie blockchain est progressivement devenue un sujet brûlant. Les contrats intelligents peuvent être considérés comme un élément important de la technologie blockchain. SpringBoot, en tant que framework de développement back-end Java populaire, peut également être utilisé pour créer des applications blockchain et des contrats intelligents. Cet article explique comment utiliser SpringBoot pour créer des applications et des contrats intelligents basés sur la technologie blockchain. 1. SpringBoot et blockchain Tout d'abord, nous devons comprendre certains concepts de base liés à la blockchain. Chaîne de blocs

Dans le processus de développement d'applications Web Java, la technologie de mappage ORM (Object-RelationalMapping) est utilisée pour mapper les données relationnelles de la base de données avec des objets Java, ce qui facilite l'accès et l'exploitation des données par les développeurs. SpringBoot, en tant que l'un des frameworks de développement Web Java les plus populaires à l'heure actuelle, a fourni un moyen d'intégrer MyBatis, et MyBatisPlus est un framework ORM étendu sur la base de MyBatis.

Avec le développement d’Internet, l’analyse des mégadonnées et le traitement de l’information en temps réel sont devenus un besoin important pour les entreprises. Afin de répondre à de tels besoins, les bases de données relationnelles traditionnelles ne répondent plus aux besoins du développement commercial et technologique. Au lieu de cela, l’utilisation de bases de données NoSQL est devenue une option importante. Dans cet article, nous aborderons l'utilisation de SpringBoot intégré aux bases de données NoSQL pour permettre le développement et le déploiement d'applications modernes. Qu'est-ce qu'une base de données NoSQL ? NoSQL n'est pas seulement du SQL

Alors que les entreprises modernes s’appuient de plus en plus sur une variété d’applications et de systèmes disparates, l’intégration d’entreprise devient encore plus importante. Enterprise Service Bus (ESB) est un modèle d'architecture d'intégration qui connecte différents systèmes et applications entre eux pour fournir des services communs d'échange de données et de routage de messages afin de réaliser l'intégration des applications au niveau de l'entreprise. En utilisant SpringBoot et ApacheServiceMix, nous pouvons facilement créer un système ESB. Cet article explique comment l'implémenter. SpringBoot et A

Avec le développement et la vulgarisation continus d'Internet, la demande en matière de traitement et de stockage de données augmente également. La manière de traiter et de stocker les données de manière efficace et fiable est devenue un sujet brûlant parmi l'industrie et les chercheurs. Le système distribué de mise en cache et de stockage des données basé sur SpringBoot est une solution qui a beaucoup retenu l'attention ces dernières années. Qu'est-ce qu'un système distribué de mise en cache et de stockage de données ? Les systèmes de mise en cache et de stockage de données distribuées font référence au stockage distribué de données via plusieurs nœuds (serveurs), ce qui améliore la sécurité et la fiabilité des données et peut également améliorer le traitement des données.
