IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Spring Java Discussion :

Erreur 404 "org.springframework.web.servlet.DispatcherServlet noHandlerFound" [Framework]


Sujet :

Spring Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    306
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2008
    Messages : 306
    Points : 76
    Points
    76
    Par défaut Erreur 404 "org.springframework.web.servlet.DispatcherServlet noHandlerFound"
    Bonjour,

    je débute avec spring et je souhaiterai créer un form mais je suis confronté à une erreur quand je tente d'accéder à l'adresse http://localhost:8080/starterSpring/user/createUser.jsp

    ATTENTION: No mapping found for HTTP request with URI [/starterSpring/user/createUser.jsp] in DispatcherServlet with name 'CreationUser'

    Voici mon web.xml:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
      <display-name>Spring Hello World</display-name>
        <welcome-file-list>
        	<welcome-file>main</welcome-file>
        	<!-- <welcome-file>/WEB-INF/index.jsp</welcome-file>-->
        </welcome-file-list>
     
        <servlet>
            <servlet-name>springDispatcher</servlet-name>
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
          <init-param>
                <param-name>contextConfigLocation</param-name>
                <param-value>/WEB-INF/spring/spring-context.xml</param-value>
            </init-param>
            <load-on-startup>1</load-on-startup>
        </servlet>
        <servlet-mapping>
            <servlet-name>springDispatcher</servlet-name>
            <url-pattern>/hi</url-pattern>
        </servlet-mapping>
        <!-- déclare la servlet de la page principale -->
      <servlet>
      	<servlet-name>Main</servlet-name>
      	<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
      	<init-param> 
      		<param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/spring/main-context.xml</param-value>
    	</init-param>
    	<load-on-startup>1</load-on-startup>
      </servlet>
      <servlet-mapping> 
      	<servlet-name>Main</servlet-name> 
      	<url-pattern>/main</url-pattern>
      </servlet-mapping>
      <!-- servlet pour la création de user -->
      <servlet>
      	<servlet-name>CreationUser</servlet-name>
      	<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
      	<init-param> 
      		<param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/spring/creationUser-context.xml</param-value>
    	</init-param>
    	<load-on-startup>1</load-on-startup>
      </servlet>
      <servlet-mapping> 
      	<servlet-name>CreationUser</servlet-name> 
      	<url-pattern>/user/createUser.jsp</url-pattern>
      </servlet-mapping>
      <!-- <servlet-mapping> 
      	<servlet-name>CreationUser</servlet-name> 
      	<url-pattern>/user/CreationUser</url-pattern>
      </servlet-mapping>-->
    </web-app>
    mon fichier de config spring creationUser-context.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
      xmlns:context="http://www.springframework.org/schema/context"
      xsi:schemaLocation="
            http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
            http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
            http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">
     
      <context:component-scan base-package="com.starterSpring.controller.user" />
      <mvc:resources mapping="/resources/**"
                     location="/resources/" />
      <mvc:annotation-driven />
     
      <bean
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/user/" />
        <property name="suffix" value=".jsp" />
      </bean>
     
    </beans>
    ma page createUser.jsp contenant mon form qui se trouve sous le dossier user
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <%@taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
    <%@ page pageEncoding="UTF-8" %>
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8" />
            <title>Création d'un User</title>
            <link type="text/css" rel="stylesheet" href="../inc/css/style.css" />
     
            <script>
            	function checkFied(){
            		/*if(document.getElementById("nomUser").value == ''){
            			alert("vous devez introduire un nom");
            			document.getElementById("nomUser").focus();
            			return false;
            		}
            		if(document.getElementById("adresseUser").value == ''){
            			alert("vous devez introduire une adresse");
            			document.getElementById("adresseUser").focus();
            			return false;
            		}
            		if(document.getElementById("telephoneUser").value == ''){
            			alert("vous devez introduire un numero de telephone");
            			document.getElementById("telephoneUser").focus();
            			return false;
            		}*/
            		document.forms['insUser'].submit();
            		return true;
            	}
            </script>
        </head>
        <body>
            <div>
            	<c:out value="${message}" default="Inscription" escapeXml="false"></c:out>
                <form:form commandName="User" method="post" action="creationUser">
                    <fieldset>
                        <legend>Informations User</legend>
     
                        <form:label path="userLogin">Login <span class="requis">*</span></form:label>
                        <form:input path="userLogin" ></form:input>
                        <!--<label for="loginUser">Login <span class="requis">*</span></label><input type="text" id="loginUser" name="loginUser" value="<c:out value="${user.userLogin}"></c:out>" size="20" maxlength="20" />-->
                        <span class="erreur"><c:out value="${form.erreurs['loginUser']}"></c:out></span>
                        <br />
     
                        <!--<label for="pswdUser">Password <span class="requis">*</span></label>
                        <input type="password" id="pswdUser" name="pswdUser" value="" size="20" maxlength="20" />-->
                        <form:label path="userPswd">Password <span class="requis">*</span></form:label>
                        <form:input path="userPswd"></form:input>
                        <span class="erreur"><c:out value="${form.erreurs['pswdUser']}"></c:out></span>
                        <br />
                    </fieldset>
                    <input onClick="return checkFied();" type="button" value="Valider"  />
                    <input type="reset" value="Remettre à zéro" /> <br />
                    <p class="${empty form.erreurs ? 'succes' : 'erreur'}">${form.resultat}</p>
                </form:form>
            </div>
        </body>
    </html>
    mon controller
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    package com.starterSpring.controller.user;
    import org.springframework.stereotype.Controller;
    import org.springframework.validation.BindingResult;
    import org.springframework.ui.Model;
    import org.springframework.web.bind.annotation.ModelAttribute;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    import org.springframework.web.bind.annotation.RequestParam;
    import org.springframework.web.servlet.ModelAndView;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.List;
    import java.util.Map;
     
    import com.starterSpring.form.user.CreateUserForm;
    import com.starterSpring.utilities.EmailSender;
    import modele.DAO.beans.user.User;
     
    @Controller
    public class CreationUser {
     
    	@RequestMapping("creationUser")
        public ModelAndView addUSer(@ModelAttribute("User") User usr, Model model) {      
     
            ModelAndView modelAndView = new ModelAndView("valUser");
            modelAndView.addObject("User", usr);
            return modelAndView;
    		//String pswdVal = model.get("userPswdval").toString();
            //return new ModelAndView("createUser", "command", usr);
        }
    	@RequestMapping(value="/createUser", method=RequestMethod.GET)
        public String myform(Model model) {
            model.addAttribute("User", new User());
            return "createUser";
        } 
    }
    et ma classe User
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    package modele.DAO.beans.user;
    import java.util.Date;
    import java.text.SimpleDateFormat;
     
    /**
     * User generated by hbm2java
     */
    public class User implements java.io.Serializable {
     
    	private String userLogin;
    	private String userPswd;
     
    	public User() {
    	}
     
     
    	public String getUserLogin() {
    		return this.userLogin;
    	}
     
    	public void setUserLogin(String userLogin) {
    		this.userLogin = userLogin;
    	}
     
    	public String getUserPswd() {
    		return this.userPswd;
    	}
     
    	public void setUserPswd(String userPswd) {
    		this.userPswd = userPswd;
    	}
     
    	/**
             * @param userLogin
             * @param userPswd
             */
    	public User(String userLogin, String userPswd) {
    		super();
    		this.userLogin = userLogin;
    		this.userPswd = userPswd;
    	}
     
    }
    J'ai également une autre question, j'ai vu dans certains tuto que des personnes utilisaient l'héritage de SimpleFormController pour leurs controller et override des méthodes comme referenceData. Quelle est la meilleure solution?

    Merci bien pour votre aide que je puisse avancer et m'appuier sur un exemple qui fonctionne

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    306
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2008
    Messages : 306
    Points : 76
    Points
    76
    Par défaut
    le problème était le @RequestMapping dans mon controller vu que ma page createUser.jsp était dans le répertoire user.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 17/04/2013, 20h15
  2. Réponses: 4
    Dernier message: 06/04/2012, 18h57
  3. Réponses: 0
    Dernier message: 28/07/2010, 14h20
  4. Réponses: 0
    Dernier message: 29/04/2010, 14h50
  5. [MVC] JstLview -> org.springframework.web.util.NestedServletException
    Par Invité dans le forum Spring Web
    Réponses: 2
    Dernier message: 11/08/2009, 18h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo