


Solution au problème selon lequel Spring MVC ne peut pas obtenir la valeur des paramètres normalement (avec code)
Le contenu de cet article concerne la solution au problème selon lequel Spring MVC ne peut pas obtenir la valeur du paramètre normalement (avec le code). J'espère que cela sera utile. toi. .
J'ai récemment rencontré un problème très étrange lors du développement. Lors de l'utilisation du framework Spring MVC dans Tomcat8, les paramètres de méthode dans le contrôleur ne pouvaient pas obtenir normalement les valeurs correspondantes. Il a été résolu en changeant la version de Tomcat. 7.0.
Enregistrez le processus de solution suivant, première image :
Le projet adopte l'architecture ssm . La valeur du mot de passe du paramètre ne peut pas être obtenue ici. J'ai recherché des informations pertinentes sur Internet et trouvé les solutions suivantes, mais aucune d'entre elles n'a eu d'effet :
1. Utilisez l'annotation @RequestParam
<.> pour le paramètre password Après avoir ajouté l'annotation RequestParam, le débogage ne parvient toujours pas à obtenir la valeur du mot de passe. Je change la valeur de require en true et une erreur est signalée directement. L'erreur signifie que le paramètre password est manquant, mais le paramètre l'est. clairement passé. Pourquoi dit-on toujours que le paramètre est manquant, se pourrait-il que les paramètres que j'ai passés n'aient pas été reconnus ? À l’heure actuelle, on considère qu’il pourrait y avoir un problème avec la méthode de transmission des paramètres. Modification de la méthode de transmission des paramètres, en ajoutant la valeur du mot de passe à la fin de l'URL, en transmettant les paramètres comme une requête GET. Effectivement, pour cette raison, la valeur du paramètre peut être reçue. Cependant, en utilisant cette méthode de transmission de paramètres, la valeur du paramètre peut être reçue sans ajouter l'annotation RequestParam. Bien que cette méthode puisse recevoir la valeur du paramètre reçu, je ne supporte pas la méthode de passage de paramètres de POST, je cherche donc ensuite la méthode suivante.
<.>
En utilisant cette méthode de passage de paramètres, la valeur du paramètre peut effectivement être reçue, mais la méthode de réception des paramètres et la méthode de passage des paramètres sont devenues compliquées. J'ai copié ce projet chez moi et j'ai continué à l'écrire. Quand j'étais dans l'entreprise, tout se déboguait bien, mais quand je suis rentré chez moi, cela n'a pas fonctionné, je ne comprenais pas pourquoi le même code n'avait pas été trouvé. modifié. Pourquoi quelque chose s'est-il mal passé lorsque je suis rentré chez moi ? Étant donné que les codes sont les mêmes mais que les résultats d'exécution sont différents, cela signifie simplement que l'environnement d'exécution a changé. Alors, en quoi exactement l’environnement est-il différent ? Lorsque ce type de problème se produit, considérez d'abord la structure de la base de données. Cependant, la version de la base de données de l'ordinateur personnel est la même que celle de l'ordinateur de l'entreprise et les données sont copiées directement à partir de l'entreprise, la base de données est donc directement exclue. sans compter qu'il est reçu dans le Contrôleur Sans les paramètres et l'étape d'accès à la base de données, il est encore moins susceptible d'être lié à la base de données, donc la base de données est directement exclue. Étant donné que le projet est construit par Maven, les packages jar pertinents sont automatiquement téléchargés par Maven, je me demande donc s'il y a un problème avec les packages jar que Maven télécharge automatiquement. Supprimez ensuite tous les packages jar de l'entrepôt local et laissez Maven redémarrer. Je l'ai téléchargé et répété plusieurs fois, mais le problème persistait. Je n'avais d'autre choix que d'exclure temporairement la cause de Maven. En fin de compte, je ne pouvais penser à aucune autre raison, alors j'ai commencé à douter de la cause de Tomcat. Le Tomcat de l'entreprise est la version 7.0 et le Tomcat à la maison est la version 8.0. Bien que les deux versions de Tomcat soient incohérentes, je l'ai fait. Je ne pense pas inconsciemment qu'il doit s'agir de la version Tomcat. Après tout, je pense inconsciemment que la version 8.0 doit être une mise à niveau des fonctions après la version 7.0. Même si je pensais de cette façon, je suis quand même allé au test avec la mentalité d'être un cheval mort et un médecin vivant. J'ai téléchargé la version 7.0 du package compressé sur le site officiel de Tomcat, puis j'ai configuré l'environnement correspondant et je l'ai appelé avec postman. . Le résultat était tellement inattendu. Avez-vous obtenu la valeur du paramètre ? ! ! ! Est-ce vraiment à cause de la version Tomcat ? Cela semble trop ennuyeux. . . . Il semble que rechercher aveuglément des versions supérieures ne soit pas une bonne chose [Recommandations associées : Tutoriel 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

AI Hentai Generator
Générez AI Hentai gratuitement.

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)

En 2023, la technologie de l’IA est devenue un sujet brûlant et a un impact énorme sur diverses industries, notamment dans le domaine de la programmation. Les gens sont de plus en plus conscients de l’importance de la technologie de l’IA, et la communauté Spring ne fait pas exception. Avec l’évolution continue de la technologie GenAI (Intelligence Artificielle Générale), il est devenu crucial et urgent de simplifier la création d’applications dotées de fonctions d’IA. Dans ce contexte, « SpringAI » a émergé, visant à simplifier le processus de développement d'applications fonctionnelles d'IA, en le rendant simple et intuitif et en évitant une complexité inutile. Grâce à « SpringAI », les développeurs peuvent plus facilement créer des applications dotées de fonctions d'IA, ce qui les rend plus faciles à utiliser et à exploiter.

En tant que leader du secteur, Spring+AI fournit des solutions de pointe pour divers secteurs grâce à son API puissante et flexible et ses fonctions avancées. Dans cette rubrique, nous examinerons les exemples d'application de Spring+AI dans divers domaines. Chaque cas montrera comment Spring+AI répond à des besoins spécifiques, atteint ses objectifs et étend ces LEÇONS APPRISES à une gamme plus large d'applications. J'espère que ce sujet pourra vous inciter à comprendre et à utiliser plus profondément les possibilités infinies de Spring+AI. Le framework Spring a une histoire de plus de 20 ans dans le domaine du développement logiciel, et cela fait 10 ans que la version Spring Boot 1.0 est sortie. Maintenant, personne ne peut contester ce printemps

Comment implémenter les transactions programmatiques Spring : 1. Utilisez TransactionTemplate ; 2. Utilisez TransactionCallback et TransactionCallbackWithoutResult ; 3. Utilisez les annotations Transactional ; 4. Utilisez TransactionTemplate en combinaison avec @Transactional ;

Java implémente les tâches planifiées dans la bibliothèque fournie avec Jdk, il existe deux façons d'implémenter les tâches planifiées, l'une est Timer et l'autre est ScheduledThreadPoolExecutor. Lorsque Timer+TimerTask crée un Timer, il crée un thread, qui peut être utilisé pour planifier des tâches TimerTask. Timer a quatre méthodes de construction, et vous pouvez spécifier le nom du thread Timer et s'il doit être défini comme thread démon. Le nom par défaut est Timer-number et il ne s'agit pas d'un thread démon par défaut. Il existe trois méthodes principales : cancel() : mettre fin à la planification des tâches et annuler toutes les tâches actuellement planifiées. purge() : supprimer les tâches de la file d'attente des tâches.

SpringBoot et SpringCloud sont tous deux des extensions de Spring Framework qui aident les développeurs à créer et déployer des applications de microservices plus rapidement, mais elles ont chacune des objectifs et des fonctions différents. SpringBoot est un framework permettant de créer rapidement des applications Java, permettant aux développeurs de créer et de déployer plus rapidement des applications basées sur Spring. Il fournit un moyen simple et facile à comprendre de créer des applications Spring autonomes et exécutables.

Avec la mise à jour et l'itération de la technologie, Java5.0 a commencé à prendre en charge les annotations. En tant que framework leader en Java, Spring a lentement commencé à abandonner la configuration XML depuis sa mise à jour vers la version 2.5, et davantage d'annotations sont utilisées pour contrôler le framework Spring.

Comment définir le niveau d'isolement des transactions dans Spring : 1. Utilisez l'annotation @Transactional ; 2. Définissez-le dans le fichier de configuration Spring ; 3. Utilisez PlatformTransactionManager ; Introduction détaillée : 1. Utilisez l'annotation @Transactional, ajoutez l'annotation @Transactional à la classe ou à la méthode qui nécessite la gestion des transactions et définissez le niveau d'isolement dans l'attribut 2. Dans le fichier de configuration Spring, etc.

En tant que développeur Java, apprendre et utiliser le framework Spring est une compétence essentielle. Avec la popularité du cloud computing et des microservices, apprendre et utiliser Spring Cloud est devenu une autre compétence qui doit être maîtrisée. SpringCloud est un ensemble d'outils de développement basé sur SpringBoot permettant de créer rapidement des systèmes distribués. Il fournit aux développeurs une série de composants, notamment l'enregistrement et la découverte de services, un centre de configuration, l'équilibrage de charge et des disjoncteurs, etc., permettant aux développeurs de créer des micro-ordinateurs.
