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

Java EE Discussion :

Problème service d'enregistrement d'utilisateur


Sujet :

Java EE

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2014
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Problème service d'enregistrement d'utilisateur
    Bonjour à tous, j'essaye de mettre au point un service "register" classique où pour le moment je demande simplement le prénom, le nom et le pays.
    J'ai créée Mes pages : addUser.jsp , AddUserServlet.java , Persistence.xml , et mon entité JPA User.java. et j'ai également créer ma base de donnée et ma table user sur Mysql.
    Le problème est que rien ne fonctionne, je suis totalement perdu...
    Si quelqu'un peut m'aider à me dépanner ce serait sympa !

    addUser.jsp:

    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
    <%@ page language="java" contentType="text/html; charset=UTF-8"
    	pageEncoding="UTF-8"%>
    <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Add user</title>
    </head>
    <body>
     
    	<h2>New user</h2>
     
    	<c:if test="${errors}">
    		<p style="color: red">Des erreurs sont présentes sur le formulaire</p>
    	</c:if>
     
    	<form action="<%= request.getContextPath() %>/adduser" method="post">
     
    		<p>
    			<label for="lastname">Lastname :</label>
    			<input type="text" size="40" name="lastname" id="lastname" />
    		</p>
     
    		<p>
    			<label for="firstname">Firstname :</label>
    			<input type="text" size="40" name="firstname" id="firstname" />
    		</p>
     
    		<p>
    			<label for="country">Country :</label>
    			<textarea name="country" id="country" cols="40"></textarea>
    		</p>
     
    		<p>
    			<input type="submit" value="Ajouter" />
    		</p>
     
    	</form>
     
    	<%@ include file="/footer.jsp" %>
     
    </body>
    </html>
    AddUserServlet.java :

    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
    60
    61
    62
    63
    64
    65
    66
    package com.supinfo.supmessaging.servlet;
     
    import java.io.IOException;
     
    import javax.persistence.EntityManager;
    import javax.persistence.EntityManagerFactory;
    import javax.persistence.Persistence;
    import javax.servlet.RequestDispatcher;
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
     
    import com.supinfo.supmessaging.entity.User;
     
    @WebServlet(urlPatterns = "/AddUser")
    public class AddUserServlet extends HttpServlet {
     
    	private EntityManagerFactory emf;
     
    	@Override
    	public void init() throws ServletException {
    		emf = Persistence.createEntityManagerFactory("PU");
    	}
     
    	@Override
    	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
     
    		String firstname = req.getParameter("firstname");
    		String lastname = req.getParameter("lastname");
    		String country = req.getParameter("country");
     
    		if(firstname == null || firstname.trim().isEmpty()) {
    			req.setAttribute("errors", true);
    			RequestDispatcher rd = req.getRequestDispatcher("/addUser.jsp");
    			rd.forward(req, resp);
    			return;
    		}
     
    		User user = new User();
    		user.setFirstName(firstname);
    		user.setLastName(lastname);
    		user.setCountry(country);
     
    		EntityManager em = emf.createEntityManager();
     
    		em.getTransaction().begin();
    		em.persist(user);
    		em.getTransaction().commit();
     
    		resp.sendRedirect(req.getContextPath() + "/index.jsp");
    	}
     
    	@Override
    	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    		RequestDispatcher rd = req.getRequestDispatcher("/index.jsp");
    		rd.forward(req, resp);
    	}
     
    	@Override
    	public void destroy() {
    		emf.close();
    	}
     
    }
    Persistence.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
    <?xml version="1.0" encoding="UTF-8"?>
    <persistence xmlns="http://java.sun.com/xml/ns/persistence"
    	version="2.0">
     
    	<persistence-unit name="PU" transaction-type="RESOURCE_LOCAL">
     
    		<provider>org.hibernate.ejb.HibernatePersistence</provider>
     
    		<properties>
    			<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
    			<property name="javax.persistence.jdbc.user" value="root" />
    			<property name="javax.persistence.jdbc.password" value="" />
    			<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/supmessaging" />
    			<property name="hibernate.hbm2ddl.auto" value="update" />
    		</properties>
    	</persistence-unit>
    </persistence>
    User.java :

    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
    package com.supinfo.supmessaging.entity;
     
    import java.io.Serializable;
     
    import javax.persistence.Entity;
    import javax.persistence.GeneratedValue;
    import javax.persistence.Id;
    import javax.persistence.JoinColumn;
    import javax.persistence.ManyToOne;
    import javax.persistence.Table;
     
    @Entity
    @Table(name = "users")
    public class User {
    	@Id
    	@GeneratedValue
    	private long id;
     
    	private String firstname;
     
    	private String lastname;
     
    	private String country;
     
    	public long getId() {
    		return id;
    	}
     
    	public void setId(long id) {
    		this.id = id;
    	}
     
    	public String getFirstName() {
    		return firstname;
    	}
     
    	public void setFirstName(String firstname) {
    		this.firstname = firstname;
    	}
     
    	public String getLastName() {
    		return lastname;
    	}
     
    	public void setLastName(String lastname) {
    		this.lastname = lastname;
    	}
     
    	public String getCountry() {
    		return country;
    	}
     
    	public void setCountry(String country) {
    		this.country = country;
    	}
     
    }
    Images attachées Images attachées  

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Que veux-tu dire par "rien ne marche" ? C'est un peu vague.

    Tu as un problème déjà dans la référence de ta servlet dans la page, tu mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form action="<%= request.getContextPath() %>/adduser" method="post">
    alors que ta servlet répond à /AddUser

    Autre chose, seule ta colonne id est mappée dans l'entity, il faudrait faire les autres aussi
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. [G][Service Win.] Enregistrer à l'install
    Par bilb0t dans le forum Général Dotnet
    Réponses: 5
    Dernier message: 19/08/2009, 16h01
  2. problème sur l'enregistrement d'une instance
    Par Génie dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 12/05/2006, 10h48
  3. [C# 2.0, Service]Problème service et Timer
    Par boleduch dans le forum Windows Forms
    Réponses: 1
    Dernier message: 25/04/2006, 15h00
  4. enregistrer click utilisateur
    Par cilies38 dans le forum Débuter
    Réponses: 7
    Dernier message: 30/03/2006, 19h57
  5. Le problème de la création d'utilisateur et de la connection
    Par nnn2050 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 21/12/2005, 22h10

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