Bonjour
Je voudrais tester si un compte existe sur la base de données mais j'ai le problème suivant :
voici la class implementationjava.lang.NullPointerException
Metier.id_implementation.compte_existe(id_implementation.java:18)
Web.id_test.doPost(id_test.java:51)
javax.servlet.http.HttpServlet.service(HttpServlet.java:650)
javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
La servlet
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 package Metier; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.List; import Metier.id_interface; public class id_implementation implements id_interface { public static boolean test=false; public static int id1=0; public boolean compte_existe(String utilisateur, String mot_de_pass){ Connection cn = Connection_BDD.getConnection(); PreparedStatement stmt; try{ stmt = cn.prepareStatement("SELECT * FROM user where user=? and pssd=?"); stmt.setString(1, utilisateur); stmt.setString(2, mot_de_pass); ResultSet rs = stmt.executeQuery(); while (rs.next()) { id1=rs.getInt("id"); } } catch(SQLException e){ } if(id1 != 0) test=true; return test; } }
j'ai essayé l'implémentation avec une class test et elle marche normal
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
46
47 package Web; 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 Metier.id_implementation; import Metier.id_interface; @WebServlet("/id_test") public class id_test extends HttpServlet { private static final long serialVersionUID = 1L; private id_interface met; public void init()throws ServletException{ met= new id_implementation(); } public id_test() { super(); // TODO Auto-generated constructor stub } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String user= request.getParameter("user"); String pssd= request.getParameter("pssd"); Compte_model mod=new Compte_model(); mod.setUser(user); mod.setPssd(pssd); boolean test=met.compte_existe(user, pssd); System.out.println(test); request.setAttribute("modele", mod); request.getRequestDispatcher("vue.jsp").forward(request, response); } }
elle affiche true donc le compte existe sur la base de donées
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 import java.util.List; public class test_metier { public static void main(String args[]) { id_interface mt= new id_implementation(); boolean a=mt.compte_existe("a", "b"); System.out.println(a); } }
Merci d'avance pour votre aide.
Partager