Partage
  • Partager sur Facebook
  • Partager sur Twitter

probleme avec ma servlet

Sujet résolu
    19 décembre 2014 à 17:23:32

    salut à tous, svp j'ai vraiment besoin d'aide !

    bon voila mon probleme :j'essai de faire une application web et je suis au stade de la creation de compte et de connexion donc j'ai reussi a me connecter à ma base de donnèe et a recuperer des information cela marche tres bien lorsque je lance depuis une class(avec un main) crèer pour faire un test, mais lorsque j'apelle la meme methode depuis ma servlet j'ai un probleme :

    java.lang.NullPointerException

    at Dao.ConnexionDao.getCompte(ConnexionDao.java:30)

    at serv.Connexion.doPost(Connexion.java:129)

    ...

    sachant qu'à (ConnexionDao.java:30) j'ai cette instruction :PreparedStatement CompteStatement = connection.prepareStatement(Comptequery);

    et à (Connexion.java:129) j'ai r = ConnexionDao.getCompte(connection,"pseudo", "mdp");

    r est une t'ableau a une dimension

    • Partager sur Facebook
    • Partager sur Twitter
      19 décembre 2014 à 17:32:11

      Est ce que tu as initialisée ton object connection ??
      • Partager sur Facebook
      • Partager sur Twitter
        19 décembre 2014 à 20:17:09

        oui, et avec les memes instruction ca marche depuis la class test
        • Partager sur Facebook
        • Partager sur Twitter
          19 décembre 2014 à 22:07:30

          humm bizarre est ce que tu peux poster ton code ?
          • Partager sur Facebook
          • Partager sur Twitter
            19 décembre 2014 à 22:37:53

            voila le code de ma servlet :

            package serv;

            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 javax.servlet.http.HttpSession;

            import Dao.ConnexionDao;
            import beans.Client;
            import fonctions.ConnexionFonc;









            import java.io.UnsupportedEncodingException;
            import java.sql.Connection;
            import java.sql.SQLException;
            import java.util.HashSet;
            import java.util.List;
            import java.util.Set;

            import javax.servlet.ServletContext;
            import javax.servlet.ServletException;
            import javax.servlet.http.HttpServletRequest;
            import javax.servlet.http.HttpServletResponse;
            import javax.servlet.http.HttpSession;






            import conec.liensql;
            import conec.test;
            //import com.fact.outil.Utilitaire;
            import services.CompteService;

            /**
             * Servlet implementation class Connexion
             */
            @WebServlet("/Connexion")
            public class Connexion extends HttpServlet {
                private static final long serialVersionUID = 1L;
                public static final String ATT_USER = "client";
                public static final String ATT_FORM = "form";
                public static final String ATT_SESSION_USER ="sessionUtilisateur";
                public static final String VUE = "/WEBINF/connexion.jsp";
                  
                /**
                 * @see HttpServlet#HttpServlet()
                 */
                public Connexion() {
                    super();
                    // TODO Auto-generated constructor stub
                }

                /**
                 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
                 */
                protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
                    // TODO Auto-generated method stub
                    this.getServletContext().getRequestDispatcher( "/WEB-INF/connexion.jsp"
                            ).forward( request, response );

                }

                /**
                 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
                 */
                protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
                    // TODO Auto-generated method stub
                   
                   
                    /* Préparation de l'objet formulaire */
                    ConnexionFonc form = new ConnexionFonc();
                    /* Traitement de la requête et récupération du bean en
                    résultant */
                    Client client = form.connecterUtilisateur( request);
                    /* Récupération de la session depuis la requête */
                    HttpSession session = request.getSession();
                    /**
                    * Si aucune erreur de validation n'a eu lieu, alors ajout du bean
                    * Utilisateur à la session, sinon suppression du bean de la
                    session.
                    */
                    if ( form.getErreurs().isEmpty() ) {
                    session.setAttribute( ATT_SESSION_USER, client );
                    } else {
                    session.setAttribute( ATT_SESSION_USER, null );
                    }
                    /* Stockage du formulaire et du bean dans l'objet request
                    */
                    request.setAttribute( ATT_FORM, form );
                    request.setAttribute( ATT_USER, client );
                   
                    ///**********************************
                    String encoding = request.getCharacterEncoding();
                    if (encoding == null || !encoding.equals("UTF-8")){
                        try{
                            request.setCharacterEncoding("UTF-8");
                        }catch (UnsupportedEncodingException e){
                            System.err.println("HttpMultipartRequest - : " + e);
                        }
                    }

            ***************************************************************************************
            l'apel a ma methode est ici
                  
                    String login ="";

                    String mdp ="";
                    String[] r ;
                   

                        try {
                                mdp   = request.getParameter("motdepasse");
                                login = request.getParameter("pseudo");
                               
                               
                                Connection connection=null;
                                connection=liensql.getConnection();
                            
                                r = ConnexionDao.getCompte(connection,"login", "mdp");
                               
                                System.out.println(r[0]+"               "+r[1]);
                               

                        } catch (Exception e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }
                     System.out.println(mdp+" iciii "+login);
                    
              ************************************************************************************************************      
                   
                //********************************************************************************/
                this.getServletContext().getRequestDispatcher( "/WEB-INF/connexion.jsp"
                        ).forward( request, response );
                }

            }

            • Partager sur Facebook
            • Partager sur Twitter
              19 décembre 2014 à 22:56:49

              liensql c'est quoi une class avec une methode static getConnection, est ce que tu peux poster le code ??
              • Partager sur Facebook
              • Partager sur Twitter
                20 décembre 2014 à 0:04:29

                oui mais liensql ainsi que toute les autres methodes fonctionne parfaitement puisque je la lance depuis une class d'essai avec un main et que recoi le resultat de ma requete le probleme c'est quand je lance depuis ma servlet

                package conec;


                import java.sql.Connection;
                import java.sql.DriverManager;
                import java.sql.SQLException;

                import javax.swing.JOptionPane;

                public class liensql {
                   
                    //Methode de connection
                   
                    public static Connection getConnection(){
                        String user = "mon longin:D";
                        String password="mon password:ange:";
                        String url= "jdbc:sqlserver://UCHIHA-PC;DatabaseName=FiLaTuRe";
                        Connection connection = null;
                        try {
                            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
                            connection = DriverManager.getConnection(url,user,password);
                            System.out.println("connexion effectuer");
                        } catch (ClassNotFoundException e) {
                            e.printStackTrace();
                        }
                        catch (SQLException e) {
                            e.printStackTrace();
                           
                        }
                        return connection;
                    }}

                   



                • Partager sur Facebook
                • Partager sur Twitter
                  20 décembre 2014 à 9:56:18

                  Tu as surement une autre exception que la java.lang.NullPointerException
                  • Partager sur Facebook
                  • Partager sur Twitter
                    20 décembre 2014 à 13:45:33

                    java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
                    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
                    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
                    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
                    at java.lang.Class.forName0(Native Method)
                    at java.lang.Class.forName(Unknown Source)
                    at conec.liensql.getConnection(liensql.java:20)
                    at serv.Connexion.doPost(Connexion.java:130)
                    at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
                    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
                    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:502)
                    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
                    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
                    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
                    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
                    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
                    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
                    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
                    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
                    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
                    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
                    at java.lang.Thread.run(Unknown Source)
                    java.lang.NullPointerException
                    at Dao.ConnexionDao.getCompte(ConnexionDao.java:30)
                    at serv.Connexion.doPost(Connexion.java:132)
                    at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
                    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
                    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:502)
                    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
                    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
                    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
                    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
                    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
                    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
                    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
                    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
                    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
                    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
                    at java.lang.Thread.run(Unknown Source)
                    • Partager sur Facebook
                    • Partager sur Twitter
                      20 décembre 2014 à 13:51:10

                      je crois que tu dois placer ton driver (jar) dans WEB-INF\lib

                      -
                      Edité par NoneNone1 21 décembre 2014 à 11:01:36

                      • Partager sur Facebook
                      • Partager sur Twitter
                        20 décembre 2014 à 23:50:09

                        merci infiniment NoneNone1 je te suis très très reconnaissant, c'est réglé
                        • Partager sur Facebook
                        • Partager sur Twitter

                        probleme avec ma servlet

                        × 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