Aucun mappage trouvé pour la requête HTTP avec l’URI

Mon gestionnaire passe à internalresourceview ‘apiForm’ mais j’obtiens ensuite l’erreur 404 RequestURI = / WEB-INF / pages / apiForm.jsp. Je suis sûr que apiForm.jsp est situé dans / WEB-INF / pages /

13:45: 02,034 DEBUG [org.springframework.web.servlet.view.JstlView] – Transfert vers la ressource [/WEB-INF/pages/apiForm.jsp] dans InternalResourceView ‘apiForm’
13:45: 02,035 DEBUG [org.springframework.web.servlet.DispatcherServlet] – DispatcherServlet avec le nom ‘testapp2’ déterminant la valeur Last-Modified pour [/WEB-INF/pages/apiForm.jsp]
13: 45: 02,038 DEBUG [org.springframework.web.servlet.DispatcherServlet] – Aucun gestionnaire trouvé dans getLastModified
13: 45: 02,038 DEBUG [org.springframework.web.servlet.DispatcherServlet] – DispatcherServlet avec le nom de requête de traitement ‘testapp2’ pour [/WEB-INF/pages/apiForm.jsp]
13: 45: 02,038 WARN [org.springframework.web.servlet.PageNotFound] – Aucun mappage trouvé pour la requête HTTP avec l’URI [/WEB-INF/pages/apiForm.jsp] dans DispatcherServlet avec le nom ‘testapp2’
13:45: 02,045 DEBUG [org.springframework.web.servlet.DispatcherServlet] – Demande terminée avec succès
13: 45: 02,048 DEBUG [org.springframework.web.servlet.DispatcherServlet] – Demande terminée avec succès

Voici à quoi ressemble mon dispatcher.xml.

     

DispatcherServlet essaie de traiter la demande pour apiForm.jsp, ce qui me suggère que votre mappage de servlet web.xml dirige les demandes pour cet espace vers DispatcherServlet.

Vous pourriez avoir quelque chose comme ça?

  dispatcher /*  

Essayez d’appeler vos contrôleurs avec une extension différente (par exemple) et mettez à jour le mappage de servlet

   dispatcher *.do  

Oui, je sais que je suis en retard à cette fête mais cela pourrait aider les autres.

Le conteneur de servlets choisit le mappage en fonction du plus long chemin correspondant. Vous pouvez donc mettre ce mapping pour vos JSP et il sera choisi sur le mapping / *.

  jsp /WEB-INF/pages/*  

En fait, pour Tomcat, c’est tout ce dont vous avez besoin car jsp est une servlet prête à l’emploi. Pour les autres conteneurs, vous devez soit trouver le nom du servlet JSP, soit append une définition de servlet telle que:

  jsp org.apache.jasper.servlet.JspServlet  

Ajoutez simplement à votre configuration DispatcherServlet et vous avez terminé!

vous obtiendrez un No mapping found for HTTP request with URI erreur No mapping found for HTTP request with URI

si vous avez scanné le mauvais paquet

par exemple, votre contrôleur est dans my.package.abc mais vous avez mis par erreur

ou

@ComponentScan("my.package.efg*")

dans le sens où votre contrôleur n’est pas analysé dans le contexte de l’application Web, lorsque la requête n’est pas seulement une URL, mais que la classe entière n’est pas trouvée!

La solution qui m’a aidé est la suivante: ne DispatcherServlet pas DispatcherServlet sur /* , mappez-le sur / . La configuration finale est alors:

  dispatcher org.springframework.web.servlet.DispatcherServlet  ...  1   dispatcher /  

Une vérification simple peut être faite. J’utilise actuellement l’architecture Spring MVC avec hibernate. J’avais manqué d’écrire les annotations @Controller juste au-dessus du nom de la classe. Cela a causé le problème pour moi.

 @Controller public class MyClass{ ... } 

J’espère que cette simple vérification résout votre problème.

Avec Spring 3.1 et Tomcat 7, j’ai eu l’erreur suivante:

org.springframework.web.servlet.DispatcherServlet noHandlerFound Aucun mappage trouvé pour la requête HTTP avec l’URI [/ baremvc /] dans DispatcherServlet avec le nom ‘appServlet’

Et je devais append à la prochaine configuration de web.xml:

    

Et l’application a fonctionné!

Je pense que j’ai lu l’internet en entier pour savoir comment obtenir sitemesh pour gérer mes chemins html sans extension + chemins d’API sans extension. J’étais enveloppé dans une veste droite en train de comprendre, chaque tournant semblait rompre quelque chose. Puis je suis finalement tombé sur ce message.

  dispatcher org.springframework.web.servlet.DispatcherServlet 1   jsp org.apache.jasper.servlet.JspServlet   dispatcher /*   jsp /WEB-INF/views/*   jsp /WEB-INF/decorators/*  

Entrez ceci dans votre dispatcher-servlet.xml

  

J’ai eu le même problème, bien sûr il y avait une petite différence. L’histoire était que lorsque je retirais la ligne ci-dessous:

  

Tout allait bien mais en présence de cette ligne, la même erreur s’est élevée.

Après quelques essais et erreurs, j’ai trouvé que je devais append la ligne ci-dessous à mon fichier de contexte d’application Spring:

  

J’espère que cela aide!

Cela pourrait également se produire lorsque votre application ne comstack pas, mais elle est toujours lancée dans Tomcat. Quand j’ai vu cela se produire, il ne compilait pas parce que le projet avait un JDK “spécifique au projet” spécifié, et le code était extrait sur une machine qui ne possédait pas ce JDK spécifique. Eclipse a utilisé par défaut un JRE, pas un JDK, et l’application n’a pas été compilée.

Pour résoudre ce problème dans notre cas spécifique, nous venons de désactiver “Paramètres spécifiques au projet” ici:

“Projet | Propriétés | Compilateur Java”

Voici des informations plus détaillées sur la façon de procéder: https://stackoverflow.com/a/2540730/26510

Même réponse que Brad Parks … plus de texte si

J’ai eu exactement le même problème et essayé les solutions ci-dessus avec beaucoup d’autres, toutes avec des résultats négatifs. J’ai même commencé avec un nouveau logiciel env. J’ai simplement installé un modèle spring-mvc et j’ai essayé de l’exécuter directement après l’installation (ça devrait marcher, mais j’ai échoué pour moi)

Pour moi, le problème était que j’utilisais jdk1.6 dans mon projet, mais mon environnement d’exécution sélectionné dans eclipse était jdk1.7. La solution consistait à modifier les parameters d’environnement d’exécution spécifiques au projet afin que ce projet soit défini sur jdk1.6. Faites un clic droit sur le projet -> Propriétés -> Compilateur Java -> Cochez “Activer les parameters spécifiques au projet” si ce n’est déjà fait -> sélectionnez le jdk approprié (ou ajoutez-le s’il n’est pas installé).

J’espère que cela peut aider quelqu’un et faire gagner du temps à ces personnes, car j’ai passé les derniers jours à chercher la réponse dans tous les coins d’Internet. Je l’ai accidentellement trouvé moi-même lorsque j’ai commencé à devenir désespéré et à chercher la solution dans des domaines où, selon moi, il y avait moins de chances de le trouver. =)

Mes 2 centimes Merci!

Edit1: Utiliser les parameters spécifiques au projet

Edit2: Je viens de réaliser que Brad Parks avait déjà répondu à cela dans ce fil. Eh bien, au moins, j’ai “Editeur” -badge de celui-ci = D

Malheureusement, ceci est un message d’erreur de classe plutôt large. Encore une autre chose qui pourrait aller de travers si vous manquez certaines classes / pots. Par exemple, si le fichier jar expression-spring est manquant, dispatch-servlet ne pourra pas localiser votre contrôleur, quel que soit votre effort et la manière dont tout le rest est configuré.

J’ai rencontré ce problème dans Eclipse Luna EE. Ma solution était simplement de redémarrer eclipse et il a commencé à charger le servlet comme par magie.

Ce dont vous avez besoin, c’est d’avoir un contrôleur qui répond en premier à l’url, puis qui rend votre fichier jsp. Voir ce lien pour une solution .

“/ openStudentPage” est la page que je veux ouvrir en premier, j’ai fait:

  @RequestMapping(value = "/", method = RequestMethod.GET) public Ssortingng index(Model model) { return "redirect:/openStudentPage"; } @RequestMapping(value = "/openStudentPage", method = RequestMethod.GET) public Ssortingng listStudents(Model model) { model.addAtsortingbute("student", new Student()); model.addAtsortingbute("listStudents", this.StudentService.listStudents()); return "index"; } 

remplacez le répartiteur de nom de votre servlet par un autre nom, car le répartiteur est un nom prédéfini pour les versions spring3 et spring4.

  ahok org.springframework.web.servlet.DispatcherServlet 1   ashok /