salut
je développe une application web pour le suivi d'élève basée essentiellement sur des servlets, alors j'ai la page d'accueil ou l'utilisateur doit s'authentifier:et la servlet connexion.java pou la vérification des données émises par l'utilisateur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <form action="http://localhost:8080/suivi_eleve/Connexion" method="post" name="form2" > Pseudo<input name="utilisateur" type="text" id="utilisateur"> Mot de passe <input name="password" type="password" id="password"> <input name="entrer" type="submit" id="entrer" value="Se connecter" style="width: 125px; height: 30px" /> </form>
quand je déroule manuellement la procédure de la servlet ça a l'air correct mais à l'exécution, pour les valeurs justes pour nom utilisateur et mot de passe ça marche sans problème et mon message de bienvenue s'affiche mais pour les valeurs fausses ça plante et l'erreur suivante apparaisse:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 public class Connexion extends HttpServlet { public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { PrintWriter out = response.getWriter(); String url="jdbc:mysql://localhost/suivi_élève"; String query="select utilisateur,password from parent"; String userName=new String(""); String passwrd=new String(""); response.setContentType("text/html"); Statement st=null; String user=request.getParameter("utilisateur"); String pasw=request.getParameter("password"); try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection conn = DriverManager.getConnection(url,"root","enpeianp"); st=conn.createStatement(); ResultSet rs=st.executeQuery(query); rs = st.getResultSet(); boolean found=false; while ((rs.next ())&&(found==false)){ userName=rs.getString("utilisateur"); passwrd=rs.getString("password"); if(userName.equals(user)&& passwrd.equals(pasw)){ found=true; out.println("Bienvenue Monsieur "+userName); out.println("<a href='acceuil.htm'><br>Retour à la page d'accueil</a>");} } rs.close (); st.close (); if (found==false){ out.println("S'il vous plait entrez un nom utilisateur et un mot de passe valides"); out.println("<a href='index.htm'><br>Se connecter à nouveau</a>");} } catch(ClassNotFoundException e) { out.println("ClassNotFoundException: " + e.getMessage()); } catch (SQLException e) { out.println("SQLException: " + e.getMessage()); out.println("SQLState: " + e.getSQLState()); out.println("VendorError: " + e.getErrorCode()); } } }
la ligne 35 correspond à:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 java.lang.NullPointerException Connexion.doPost(Connexion.java:35)
j'ai beau essayer de comprendre ou est l'erreur mais j'arrive pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part while ((rs.next ())&&(found==false)){
y aurait-il quelqu'un qui sait à quelle erreur correspond ce message?
Partager