Muslima88
Messages postés1Date d'inscriptionsamedi 16 avril 2011StatutMembreDernière intervention16 avril 2011
-
16 avril 2011 à 12:15
Bonjour,
je débute avec hibernate et j'ai un grand pb qui me géne j'ai consulter le faq mais en vain
En fait j'essaye de me connecter à ma base de donnée MySQL et j'ai fais le mappage en utilisant hinernate synchronizer
Mais j'ai un pb lors de la méthode init() de ma servlet
Voici le code de la servlet:
import com.hibernate.dao.*;
import com.hibernate.dao.base.BaseUtilisateurDAO;
import com.hibernate.service.*;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Iterator;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.sf.hibernate.HibernateException;
import net.sf.hibernate.Session;
import net.sf.hibernate.Transaction;
/**
* Servlet implementation class Application
* @param <ServletConfig>
*/
public class Application extends HttpServlet {
private static final long serialVersionUID = 1L;
private ServletConfig config;
Service service ;
BaseUtilisateurDAO dao = null;
public Application() {
super();
}
public void init()
throws ServletException{
ServletConfig config = getServletConfig();
try {
dao.init();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
service.setDao(dao);
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
try {
Session ses=HibernateUtil.currentSession();
Transaction tx =ses.beginTransaction();
doListPersonne(request, response,ses);
} catch (HibernateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private void doListPersonne(HttpServletRequest request,
HttpServletResponse response , Session s) throws ServletException, IOException, HibernateException {
try{Iterator<Utilisateur> it=service.getAll(s);
PrintWriter out =response.getWriter();
out.print("<table border=\"1\">");
while(it.hasNext()){
Utilisateur e2 =(Utilisateur)it.next();
out.print("<tr><td>"+ e2.getNom()+"</td>"+"<td>"+ e2.getAge()+"</td></tr>" );
}
out.print("</table>");
}catch (HibernateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
// on passe la main au GET
}
}
et voici la méthode init()de ma dao:
public void init() throws Exception{
try {
Utilisateur p1 = Utilisateur(1, "MAROUA", 13);
save(p1);
} catch (ParseException ex) {
throw new Exception(
"Erreur d'initialisation de la couche [dao] : "
+ ex.toString());
}
}
Ainsi que ma classe service qui fait appel à la classe dao(BaseUtilisateurDao):
package com.hibernate.service;
import java.util.Iterator;
import java.util.List;
import net.sf.hibernate.HibernateException;
import net.sf.hibernate.Session;
import com.hibernate.dao.Utilisateur;
import com.hibernate.dao.*;
import com.hibernate.dao.base.BaseUtilisateurDAO;
public class Service implements IService {
private BaseUtilisateurDAO dao=null;
public BaseUtilisateurDAO getDao(){
return dao;
}
public void setDao(BaseUtilisateurDAO dao) {
this.dao = dao;
}
public Utilisateur getOne(int id) throws HibernateException {
return dao.getOne(id);
}
public void saveOne(Utilisateur utilisateur) throws HibernateException {
dao.saveOrUpdate(utilisateur);
}
public Iterator <Utilisateur> getAll(Session s) throws HibernateException{
return dao.getAll(s);
}
public void deleteOne(int id) throws HibernateException
{Utilisateur aux= (Utilisateur)getOne(id);
dao.delete(aux);
}
}
La trace d'erreur que je reçoit est la suivante:
exception
javax.servlet.ServletException: "Servlet.init()" pour la servlet Application a généré une exception
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
java.lang.Thread.run(Unknown Source)