Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème avec DAOFactory

    11 avril 2019 à 18:55:54

    Bonjour,

    Je suis entrain d'apprendre à utiliser le modèle DAO pour l'utilisation des connexion avec les bases des données. J'ai pris sur ce même site un cours très riche qui présente le concept.

    J'ai alors décidé de me lancer de dans.

    J'ai un problème avec la méthode init() de mes servlets. Voici un exemple avec le message d'erreur généré.

    GRAVE: "Servlet.init()" pour la servlet [com.aci.servlets.InscriptionClient] a généré une exception
    java.lang.NullPointerException
    	at com.aci.servlets.InscriptionClient.init(InscriptionClient.java:39)
    	at javax.servlet.GenericServlet.init(GenericServlet.java:158)
    	at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1123)
    	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1078)
    	at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:761)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:134)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
    	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
    	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:668)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
    	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
    	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
    	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:834)
    	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1415)
    	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    	at java.lang.Thread.run(Unknown Source)
    Voici une de mes méthodes int() :
    import java.io.IOException;
    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 com.aci.admin.Client;
    import com.aci.dao.ClientDao;
    import com.aci.dao.DAOFactory;
    import com.aci.forms.ClientForm;
    
    /**
     * Servlet implementation class Inscription
     */
    @WebServlet("/Inscription")
    public class InscriptionClient extends HttpServlet {
    	private static final long serialVersionUID = 1L;
        public static final String CONF_DAO_FACTORY = "daofactory";
        public static final String ATT_USER         = "utilisateur";
        public static final String ATT_FORM         = "form";
        public static final String VUE              = "/WEB-INF/InscriptionClient.jsp";
    
        private ClientDao     clientDao;
    
           
        /**
         * @see HttpServlet#HttpServlet()
         */
        public InscriptionClient() {
            super();
            // TODO Auto-generated constructor stub
        }
    
        public void init() throws ServletException {
            /* Récupération d'une instance de notre DAO client */
            this.clientDao = ((DAOFactory) getServletContext().getAttribute(CONF_DAO_FACTORY)).getClientDao();
            	
        }
    

    -
    Edité par demcoul 11 avril 2019 à 18:58:56

    • Partager sur Facebook
    • Partager sur Twitter
      12 avril 2019 à 17:34:03

      Bonjour,

      Que retourne getServletContext().getAttribute(CONF_DAO_FACTORY)) dans ta méthode init() ? Il semble que le retour soit null.

      A quel endroit tu as ajouté l'attribut CONF_DAO_FACTORY dans ton servletContext ?

      • Partager sur Facebook
      • Partager sur Twitter
      MrEddy
        24 janvier 2020 à 9:51:56

        Bonjour !

        Je suis confronté au même problème...

        Avez-vous trouvé la solution à votre problème ?

        Merci !

        • Partager sur Facebook
        • Partager sur Twitter

        El Maracucho

        Problème avec DAOFactory

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown