Bonjour
Je voudrais tester si un compte existe sur la base de données mais j'ai le problème suivant :

java.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)
voici la class implementation

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;
	}
}
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
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);
 
	}
 
}
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
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);
 
	}
 
}
elle affiche true donc le compte existe sur la base de donées

Merci d'avance pour votre aide.