Problème java.lang.ClassNotFoundException: org.hibernate.Session
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:
Code:
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) |
Je rajoute la servlet:
Code:
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 );
}
} |
la classe metier:
Code:
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 pense que c'est un problème de version hibernate 3.0, ou servlet, mais je suis pas sure. Help please !!!!
Je vous remercie d'avance de votre aide!