Pb avec servlet et hibernate

Fermé
Muslima88 Messages postés 1 Date d'inscription samedi 16 avril 2011 Statut Membre Dernière intervention 16 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)


cause mère

java.lang.NullPointerException
Application.init(Application.java:42)
javax.servlet.GenericServlet.init(GenericServlet.java:211)
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)

S'il vous plait existe t'il une personne qui peut m'aider
je serais trés reconnaissante
Merci