forked from ltearno/formations
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
21 changed files
with
342 additions
and
0 deletions.
There are no files selected for viewing
36 changes: 36 additions & 0 deletions
36
...avaee/jpa-101/src/main/java/fr/lteconsulting/training/moviedb/ejb/GestionUtilisateur.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
package fr.lteconsulting.training.moviedb.ejb; | ||
|
||
import fr.lteconsulting.training.moviedb.model.Utilisateur; | ||
|
||
import javax.ejb.Stateless; | ||
import javax.persistence.NoResultException; | ||
import javax.persistence.TypedQuery; | ||
|
||
@Stateless | ||
public class GestionUtilisateur extends GestionGenerique<Utilisateur> { | ||
public GestionUtilisateur() throws NoSuchFieldException { | ||
super(Utilisateur.class); | ||
} | ||
|
||
public Utilisateur login(String login, String password) { | ||
try { | ||
TypedQuery<Utilisateur> query = em.createQuery("select u from Utilisateur u where u.login=:login and u.password=:password", Utilisateur.class) | ||
.setParameter("login", login) | ||
.setParameter("password", password); | ||
|
||
return query.getSingleResult(); | ||
} catch (NoResultException e) { | ||
return null; | ||
} | ||
} | ||
|
||
public Utilisateur findByLogin(String login) { | ||
try { | ||
return em.createQuery("select u from Utilisateur u where u.login=:login", Utilisateur.class) | ||
.setParameter("login", login) | ||
.getSingleResult(); | ||
} catch (NoResultException e) { | ||
return null; | ||
} | ||
} | ||
} |
59 changes: 59 additions & 0 deletions
59
...ets/javaee/jpa-101/src/main/java/fr/lteconsulting/training/moviedb/model/Utilisateur.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
package fr.lteconsulting.training.moviedb.model; | ||
|
||
import javax.persistence.*; | ||
|
||
@Entity | ||
public class Utilisateur { | ||
@Id | ||
@GeneratedValue(strategy = GenerationType.IDENTITY) | ||
private Integer id; | ||
|
||
@Column(unique = true) | ||
private String login; | ||
|
||
private String password; | ||
|
||
private String nom; | ||
|
||
private String prenom; | ||
|
||
public Integer getId() { | ||
return id; | ||
} | ||
|
||
public void setId(Integer id) { | ||
this.id = id; | ||
} | ||
|
||
public String getLogin() { | ||
return login; | ||
} | ||
|
||
public void setLogin(String login) { | ||
this.login = login; | ||
} | ||
|
||
public String getPassword() { | ||
return password; | ||
} | ||
|
||
public void setPassword(String password) { | ||
this.password = password; | ||
} | ||
|
||
public String getNom() { | ||
return nom; | ||
} | ||
|
||
public void setNom(String nom) { | ||
this.nom = nom; | ||
} | ||
|
||
public String getPrenom() { | ||
return prenom; | ||
} | ||
|
||
public void setPrenom(String prenom) { | ||
this.prenom = prenom; | ||
} | ||
} |
22 changes: 22 additions & 0 deletions
22
...projets/javaee/jpa-101/src/main/java/fr/lteconsulting/training/moviedb/outil/Session.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
package fr.lteconsulting.training.moviedb.outil; | ||
|
||
import fr.lteconsulting.training.moviedb.model.Utilisateur; | ||
|
||
import javax.servlet.http.HttpServletRequest; | ||
import javax.servlet.http.HttpSession; | ||
|
||
public class Session { | ||
private final static String USER_KEY = "utilisateurConnecte"; | ||
|
||
public static void setUtilisateurConnecte(HttpSession session, Utilisateur utilisateur) { | ||
session.setAttribute(USER_KEY, utilisateur); | ||
} | ||
|
||
public static Utilisateur getUtilisateurConnecte(HttpSession session) { | ||
return (Utilisateur) session.getAttribute(USER_KEY); | ||
} | ||
|
||
public static boolean estConnecte(HttpServletRequest request) { | ||
return getUtilisateurConnecte(request.getSession()) != null; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
50 changes: 50 additions & 0 deletions
50
...e/jpa-101/src/main/java/fr/lteconsulting/training/moviedb/servlet/InscriptionServlet.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
package fr.lteconsulting.training.moviedb.servlet; | ||
|
||
import fr.lteconsulting.training.moviedb.ejb.GestionUtilisateur; | ||
import fr.lteconsulting.training.moviedb.model.Utilisateur; | ||
import fr.lteconsulting.training.moviedb.outil.Session; | ||
import fr.lteconsulting.training.moviedb.outil.Vues; | ||
|
||
import javax.inject.Inject; | ||
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 java.io.IOException; | ||
|
||
@WebServlet("/inscription") | ||
public class InscriptionServlet extends HttpServlet { | ||
@Inject | ||
private GestionUtilisateur gestionUtilisateur; | ||
|
||
@Override | ||
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { | ||
Vues.afficherInscription(req, resp, "Bienvenue"); | ||
} | ||
|
||
@Override | ||
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { | ||
String login = req.getParameter("login"); | ||
String password = req.getParameter("password"); | ||
String nom = req.getParameter("nom"); | ||
String prenom = req.getParameter("prenom"); | ||
|
||
Utilisateur existant = gestionUtilisateur.findByLogin(login); | ||
if (existant != null) { | ||
Vues.afficherInscription(req, resp, "Impossible avec ce login, il existe déjà !"); | ||
return; | ||
} | ||
|
||
Utilisateur utilisateur = new Utilisateur(); | ||
utilisateur.setLogin(login); | ||
utilisateur.setPassword(password); | ||
utilisateur.setNom(nom); | ||
utilisateur.setPrenom(prenom); | ||
|
||
gestionUtilisateur.add(utilisateur); | ||
Session.setUtilisateurConnecte(req.getSession(), utilisateur); | ||
|
||
resp.sendRedirect("produits"); | ||
} | ||
} |
Oops, something went wrong.