Bonjour, nous sommes étudiants, et dans le cadre d'un projet génie logiciel "ecommerce" à l'université, on rencontre quelques problèmes avec hibernate.
je m'explique, on a effectué la persistance avec hibernate tools, aussi, on la testé en console en récupérant des tables, en insertion et suppression.
Le problème se pose que lorsqu'on veut tester le résultat dans une servlet, ou jsp cela nous sort l'exception suivante:
Je rajoute la servlet:
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 Stacktrace:] with root cause java.lang.ClassNotFoundException: org.hibernate.Session at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559) at org.apache.jsp.inscription_jsp._jspService(inscription_jsp.java:208) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:680)
la classe metier:
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
67
68
69
70
71
72
73
74 package com.servlets; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.Metier.AjoutUser; import com.hibernate.pojo.Utilisateur; public class CreationClient extends HttpServlet { /** * */ private static final long serialVersionUID = 1L; public void doGet( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException { /* * RÈcupÈration des donnÈes saisies, envoyÈes en tant que paramËtres de * la requÍte GET gÈnÈrÈe la validation du formulaire */ String nom = request.getParameter( "nomClient" ); String prenom = request.getParameter( "prenomClient" ); String email = request.getParameter( "emailClient" ); String adress = request.getParameter( "adresseClient"); String codepostel = request.getParameter( "codepostel" ); String message = null; /* * Initialisation du message afficher : si un des champs obligatoires * du formulaire n'est pas renseignÈ, alors on affiche un message * d'erreur, sinon on affiche un message de succËs */ Utilisateur client = new Utilisateur(); if ( nom.trim().isEmpty() || adress.trim().isEmpty() || email.trim().isEmpty() || email.trim().isEmpty() ) { message = "Erreur - Vous n'avez pas rempli tous les champs obligatoires. <br> <a href=\"inscription.jsp\">Cliquez ici</a> pour accÈder au formulaire de crÈation d'un client."; } else { /* * CrÈation du bean Client et initialisation avec les donnÈes rÈcupÈrÈes */ message = "Client créé avec succés !"; client.setIdutilisateur(8); client.setNom( nom ); client.setPrenom( prenom ); client.setAdresse( adress ); //client.setCodepostel(codepostel); client.setEmail( email ); client.setConfirme(true); client.setTemporaire(false); } /* Ajout du bean et du message l'objet requÍte */ request.setAttribute( "client", client ); request.setAttribute( "message", message ); /* Transmission la page JSP en charge de l'affichage des donnÈes */ this.getServletContext().getRequestDispatcher( "/ConfirmationInscription.jsp" ).forward( request, response ); } }
Je pense que c'est un problème de version hibernate 3.0, ou servlet, mais je suis pas sure. Help please !!!!
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 package com.Metier; import org.hibernate.*; import org.hibernate.cfg.Configuration; import com.hibernate.pojo.Utilisateur; public class AjoutUser{ public Utilisateur personne= new Utilisateur(); public AjoutUser(Utilisateur personne){ this.personne=personne; } public void Ajout() throws Exception { Configuration config = new Configuration(); SessionFactory sessionFactory = config.configure().buildSessionFactory(); Session session = sessionFactory.openSession(); Transaction tx = null; try { tx = session.beginTransaction(); session.save(personne); session.flush() ; tx.commit(); } catch (Exception e) { if (tx != null) { tx.rollback(); } throw e; } finally { session.close(); } sessionFactory.close(); } }
Je vous remercie d'avance de votre aide!
Partager