Partage de technologie

Premiers pas avec Spring Web MVC

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Que pouvez-vous apprendre après avoir lu ce blog ?

  1. Comprendre ce qu'est Spring Web MVC
  2. Comment apprendre Spring MVC
  3. Comprendre les annotations Spring Web MVC courantes

texte

Qu’est-ce que Spring Web MVC ?
  • D'après le titre, nous pouvons voir un nom très inconnu "Spring Web MVC", ce terme semble très noble, mais de quoi s'agit-il exactement ? Voici l'explication tirée du document officiel :
    Spring Web MVC est le framework Web original construit sur l'API Servlet et a été inclus dans le framework Spring depuis le début. Son nom officiel « Spring Web MVC » vient du nom de son module source (Spring-webmvc), mais il est souvent désigné sous le nom de SpringMVC.
  • Ce n’est pas grave si vous ne comprenez pas. En termes humains, c’est :Spring Web MVC est un framework Web
    Cependant, pour vraiment comprendre Spring MVC, nous devons comprendre ce qu'est MVC. En fait, MVC est l'abréviation de Model View Controller. Il s'agit d'un modèle de conception d'architecture logicielle en génie logiciel. , affichez et contrôlez trois parties de base, comme indiqué dans la figure ci-dessous.
    Insérer la description de l'image ici
    Vous pouvez demander les définitions de ces parties :
    • View (view) fait référence à la ressource dédiée à l'interaction avec le navigateur et à l'affichage des données dans l'application.
    • Le modèle est la partie principale de l'application et est utilisé pour traiter la logique des données dans le programme.
    • Le contrôleur peut être compris comme un répartiteur, utilisé pour décider quel modèle doit être utilisé pour traiter les demandes de la vue et à quelle vue il faut revenir après le traitement.Prêt à l'emploi pour connecter des vues et des modèles

Le processus principal est le suivant : View envoie une requête au Controller. À ce stade, une sélection est effectuée dans Controller pour voir quelle solution (modèle de solution) peut résoudre la requête. Après la sélection, elle envoie une instruction à Model pour choisir celle qui gère. Une fois le modèle traité, le modèle renvoie d'abord les résultats du traitement au contrôleur, puis le contrôleur renvoie les résultats à la vue. Il s'agit du cadre principal de MVC et d'une idée pour résoudre les problèmes.

Par exemple, aller manger au restaurant
Une fois que le client entre dans le magasin, le serveur vient recevoir la commande du client. Une fois que le client a commandé le repas, il remet le menu du client à la réception, et la réception donne des commandes à la cuisine en fonction du menu du client. est responsable de la cuisine. Après cela, dites au serveur selon le menu qu'il s'agit du repas de l'invité à la table X.
Durant ce processus
Le serveur est View, chargé de recevoir les clients, d'aider les clients à commander de la nourriture et de servir la nourriture aux clients.
Le front office est le contrôleur, qui sélectionne le chef à qui donner les commandes en fonction de la situation de commande de l'utilisateur.
L’arrière-cuisine est le modèle qui répond aux besoins du client en matière de restauration en fonction des exigences de la réception.

  • Pour résumer : MVC est un modèle de conception architectural et une idée, et Spring MVC est une implémentation spécifique de l'idée MVC. De plus, Spring MVC est également un framework Web.
    En résumé, Spring MVC est un framework Web qui implémente le modèle MVC
    Puisque SpringBoot est une implémentation spécifique de SpringMVC, les projets que nous créons sont généralement SpringBoot. Cela explique aussi pourquoi le projet créé par certains étudiants est SpringBoot. Spring Boot peut ajouter de nombreuses dépendances et utiliser ces dépendances pour implémenter différentes fonctions. Spring Boot implémente des fonctions Web en ajoutant le framework Spring WebMVC.
  • Par exemple : la cuisine peut être utilisée pour cuisiner, mais la véritable fonction de cuisson est le feu et divers matériaux et outils liés à la cuisine. La cuisine est comme SpringBoot. La cuisine peut être équipée d'armoires pour réaliser la fonction de rangement et de décoration. Les cuisinières, etc., réalisent la fonction de cuisson. Il y a des milliers d'années, la cuisine pouvait être réalisée avec du feu et de la nourriture. Cependant, lorsque Spring a implémenté MVC, il a également apporté quelques modifications.

Insérer la description de l'image ici

  • Sur la base de l'exemple ci-dessus de commande de nourriture, le principal changement est que nous pouvons entrer directement dans le restaurant et commander de la nourriture directement à la réception, au lieu d'appeler directement le serveur pour qu'il vienne commander de la nourriture.
Comment apprendre Spring MVC ?

Après avoir brièvement compris ce qu'est Spring MVC, nous pouvons avoir une première compréhension de la façon d'apprendre Spring MVC.
Lorsque nous apprenons Spring MVC, l'objectif est d'apprendre à interagir avec les programmes utilisateur via le navigateur.
Principalement divisé en trois aspects suivants :

  1. Établir une connexion : connectez l'utilisateur (navigateur) et le programme Java, c'est-à-dire que l'accès à une adresse peut appeler notre programme Spring.
  2. Requête : L'utilisateur apportera certains paramètres lors d'une requête. Dans le programme, vous devez trouver un moyen d'obtenir les paramètres, la partie requête est donc principalement fonction de l'obtention des paramètres.
  3. Réponse : Après l'exécution de la logique métier, le résultat de l'exécution du programme doit être renvoyé à l'utilisateur, ce qui est une réponse.
Annotations courantes de Spring Web MVC

Ce que nous apprenons en premier, c'est la connexion : et les annotations Spring MVC sont une partie importante de la connexion. Par conséquent, l'ordre du cadre de mon blog est étroitement lié. Les grands thèmes peuvent distinguer leurs principaux contenus, mais les sujets principaux sont toujours étroitement liés. Hé, hé, pendant un moment, je me suis senti vraiment bien, entrons. Allons droit au but, ne plaisantons plus.

  • 1. Utilisez @RequestMapping dans Spring MVC pour implémenter le mappage de routage d'URL, qui est le rôle du programme de connexion du navigateur. Voyons d'abord comment écrire le code.
    Insérer la description de l'image ici
    Après l'avoir exécuté, entrez l'URL http://127.0.0.1:8080/hello dans le navigateur
    Vous pouvez voir l'effet. Quant à savoir pourquoi ce site Web est OK, vous n'avez pas besoin de le comprendre maintenant, mais vous le comprendrez certainement à l'avenir à mesure que votre étude approfondira.
    L'effet est comme

Insérer la description de l'image ici

  • Remarque : Nous pouvons voir que j'ai créé le fichier dans le répertoire src/main/java/com.example.j20240711. Une habitude courante est que nous écrivons du code commercial normal dans src et testons le code dans text. Parce que j'utilise la version professionnelle d'IDEA2022.3.3, certaines pages peuvent être différentes des vôtres, mais le cadre général est le même. En fait, on peut aussi utiliser la version standard pour écrire Spring, mais il est plus compliqué d'installer des plug-ins. J'ai choisi la version professionnelle pour éviter les ennuis. Si vous souhaitez également utiliser la version professionnelle, vous pouvez rechercher des didacticiels sur CSDN. Si vous n'y parvenez vraiment pas, vous pouvez accéder à un certain site Web et en acheter un à bas prix. prix. C'est très bon marché, vous pouvez donc également utiliser la version professionnelle.
    @RequestMapping est l'une des annotations les plus couramment utilisées dans les applications Spring Web MVC. Elle est utilisée pour enregistrer le mappage de route de l'interface. Cela signifie que lorsque le service reçoit une requête, la requête avec le chemin /sayHi sera appelée. code pour cette méthode sayHi.
    Cartographie de route : lorsqu'un utilisateur accède à une URL (peut être comprise comme une adresse de site Web), le processus de mappage de la demande de l'utilisateur à une méthode d'une certaine classe dans le programme est appelé mappage de route.
    Les étudiants attentifs constateront que l'annotation ci-dessus supprime @RequestMapping et @RestController. Alors, à quoi sert cette annotation ? Nous pouvons d'abord essayer de le retirer.
    Insérer la description de l'image ici

Vous pouvez voir qu'un 404 apparaît et que la page est introuvable.

C'est ce que fait @RestController.
Dans un projet, il y aura plusieurs classes, et chaque classe peut avoir plusieurs méthodes. Comment le programme Spring sait-il quelle méthode exécuter ?
Spring analysera toutes les classes. Si la classe est annotée avec @RestController, Spring examinera uniquement les méthodes de cette classe.
Avez-vous ajouté l'annotation @RequestMapping ? Bien sûr, elle fait plus que cela. Utilisons-la d'abord et parlons-en en détail plus tard.

  • Le rôle de @RequestMapping
    @RequestMapping peut modifier à la fois les classes et les méthodes. Lors de la modification des classes et des méthodes, l'adresse consultée est le chemin de classe + le chemin de méthode.
    @RequestMapping identifie une classe : définit les informations initiales du chemin de la requête de mappage
    @RequestMapping identifie une méthode : définition des informations spécifiques du chemin de requête de la requête de mappage
package com.example.j20240711;
//这两个包都是你人为加入注解自动导入的,不用过于关注
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;


@RequestMapping("auto")//这是类路径
@RestController
public class TextApplication {
    @RequestMapping("hello")//这是方法路径
    //这里的方法名不一定非得是hello,可以换成其他的。
    public String hello(){
        return "hello";
    }
}
//因此我们访问的时候,使用的网址应该是:http://127.0.0.1:8080/auto/hello
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • Avis:
    Le chemin de l'URL de @RequestMapping peut être précédé de / (slash) ou non. Lorsque le programme Spring démarre, il jugera s'il n'y a pas de / au début, Spring ajoutera un /.
    Normalement, le chemin URL que nous ajoutons / @RequestMapping peut également être un chemin multicouche lorsqu'il est finalement accessible, il s'agit toujours du chemin de classe + du chemin de méthode, tel que :
    ,
    Ce qui précède présente principalement deux annotations. En fait, @RequestMapping n'a pas encore été expliqué. J'écrirai la prochaine partie des annotations séparément et j'écrirai un blog.
    Permettez-moi d'abord de poser une question : que se passe-t-il si nous voulons savoir si cette annotation prend en charge get ou post ?
    À l'heure actuelle, nous devons écrire du code front-end pour envoyer des données et vérifier s'il prend en charge get ou post. Cependant, pour une personne purement back-end, nous ne comprenons pas comment écrire le code front-end. temps, le logiciel Postman L'effet se reflète, et le prochain numéro parlera de son utilisation.
    Aperçu du prochain numéro : expliquez l'utilisation principale de Postman et le deuxième point clé de l'apprentissage de Spring MVC : les requêtes.