Aucune correspondance trouvée pour la requête HTTP (Spring MVC)
C'est probablement le millionième question à propos de ce Spring MVC erreur, mais je ne peux pas le faire fonctionner encore.
Je suis en train de mapper une simple méthode du controller /compte et, plus tard, je veux ajouter /compte/{id}, mais je ne peux même pas obtenir /compte pour travailler.
Voici mon web.xml
<?xml version="1.0" encoding="ISO-8859-1" ?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<display-name>My Spring MVC web application</display-name>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>springDispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:application-context.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springDispatcherServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:application-context.xml</param-value>
</context-param>
</web-app>
Le contenu de application-context.xml:
<mvc:annotation-driven />
<context:component-scan base-package="org.example" />
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/views/"/>
<property name="suffix" value=".jsp"/>
</bean>
AccountController.java :
@Controller
public class AccountController {
@RequestMapping(value="/account", method = RequestMethod.GET)
public ModelAndView showAccount() throws Exception {
ModelAndView mav = new ModelAndView();
mav.setViewName("account");
mav.addObject("someText", "Hello World!");
return mav;
}
}
src/main/webapp/vues/compte.jsp:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<h1>${someText}</h1>
Lors du démarrage de l'application dans Tomcat, je vois la ligne suivante apparaît dans le journal:
[localhost-startStop-1] INFO org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping - Mapped "{[/account], methods=[GET], params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public org.springframework.web.servlet.ModelAndView org.example.springmvc.controller.AccountController.showAccount() throws java.lang.Exception
Pour moi, qui suggère que l'url localhost:8080/compte est correctement cartographiées et devrait au moins donner quelques sortie. Mais lorsque je visite localhost:8080/compte j'ai une erreur 404 et le journal dit:
No mapping found for HTTP request with URI [/views/account.jsp] in DispatcherServlet with name 'springDispatcherServlet'
No mapping found for HTTP request with URI [/favicon.ico] in DispatcherServlet with name 'springDispatcherServlet'
Vous aide sera très appréciée.
OriginalL'auteur Julius | 2012-07-09
Vous devez vous connecter pour publier un commentaire.
Il n'y a rien de mal avec votre configuration Spring, il semble que la
/account
URI est correctement traitée par votre Contrôleur et il est de retourner le nom de la vueaccount
correctement, ce qui est en train d'être résolu par votre InternalViewResolver comme un chemin vers la/views/account.jsp
>.Maintenant, pour certaines raisons, cette expédition est ce qui ne va pas(à cause de
/*
cartographie pour votre Printemps DispatcherServlet, l'hypothèse est que le Printemps peut gérer ce /points de vue aussi, ce qui est probablement la raison pour laquelle vous voyez cette erreur spécifique). Pouvez-vous faire cela, au lieu de placer les points de vue dans/views
dossier, déplacer vers/WEB-INF/views
dossier et modifier votre viewresolver:Je l'ai eu à travailler!!! Whoohoo! Enfin. J'ai changé le <url-pattern> dans web.xml à partir de/*/ . Je n'arrive pas à comprendre POURQUOI il fonctionne maintenant, mais au moins, je suis heureux programmeur.
Salut @Biju pourriez vous s'il vous plaît prendre un coup d'oeil à stackoverflow.com/questions/17697899/... c'est un peu différent mais aussi étrange que je ne suis pas atteint de contrôleur
OriginalL'auteur Biju Kunjummen
Essayez d'ajouter le suivant haricots application-context.xml
corrigé mon erreur, merci!
OriginalL'auteur aseychell