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:
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
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>
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 <?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>
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
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>
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 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"; } }
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?
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; } }
Merci bien pour votre aide que je puisse avancer et m'appuier sur un exemple qui fonctionne
Partager