Salut à tous !
J'ai un soucis lorsques j'essaie de développer un servlet Java. Ce servlet consiste juste à faire une vérification de pseudo et mot de passe dans une base de donnée MySQL.
Mon problème est que je n'arrive pas à trouver le moyen d'afficher "désolé votre pseudo n'existe pas" quand le pseudo n'est pas dans la base de donnée. Ce servlet fonctionne par contre parfaitement quand le pseudo est existant dans la base de donnée. En fait, je crois que lorsque la requète n'affiche aucun résultat, je n'arrive pas à réutiliser ce résultat pour activer une conditionnelle.
Le problème vient surement d'une erreur dans mon code alors je vous le colle ici :
Code :
- import javax.servlet.*;
- import javax.servlet.http.*;
- import java.io.*;
- import java.util.*;
- import java.sql.*;
- public class ExerciceA extends HttpServlet {
- private static final String CONTENT_TYPE = "text/html";
- public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
- {
- response.setContentType("text/html" );
- PrintWriter out = response.getWriter();
- String sPseudo = request.getParameter("txtPseudo" );
- String sPass = request.getParameter("txtPass" );
- Connection conn = null;
- Statement stmt = null;
- ResultSet rs = null;
- try
- {
- // Chargement du pilote
- Class.forName("org.gjt.mm.mysql.Driver" );
- // connection à la base de données
- conn = DriverManager.getConnection("jdbc:mysql://localhost/test" );
- // Préparation de la commande
- stmt = conn.createStatement();
- // Exécution de la commande SQL
- rs = stmt.executeQuery("SELECT * FROM utilisateurs WHERE pseudo='" + sPseudo.trim() + "'" );
- out.println(rs.getString("pass" ));
- }
- catch (Exception e)
- {
- }
- // écriture de l'entête du document HTML
- out.println("<html>\n" );
- out.println("<head>\n" );
- out.println("<title>Zone Sécurisée</title>\n" );
- out.println("</head>\n" );
- try
- { while(rs.next()) {
- if(sPass.equals(rs.getString("pass" ))) {
- out.println("<body><h2>Bienvenue au système de gestion des contacts</h2>\n" );
- out.println("<h4>Voici la liste des opérations :</h4><br>" );
- out.println("Consulter la liste des contacts<br>" );
- out.println("Ajouter un contact<br>" );
- out.println("Rechercher un contact<br>" );
- }
- else {
- out.println("<body><h2>Désolé !</h2>\n" );
- out.println("<h4>Le nom d'utilisateur et/ou le mot de passe sont invalides. Cliquez sur le lien ci dessous pour revenir au sommaire.</h4>\n" );
- out.println("<a href=\"../ExerciceA.htm\">Retour à la page précédente.</a>\n" );
- }
- }
- if (rs.next()) {
- out.println("<body><h2>Désolé !</h2>\n" );
- out.println("<h4>Le nom d'utilisateur et/ou le mot de passe sont invalides. Cliquez sur le lien ci dessous pour revenir au sommaire.</h4>\n" );
- out.println("<a href=\"../ExerciceA.htm\">Retour à la page précédente.</a>\n" );
- }
- }
- catch (Exception e)
- {
- e.printStackTrace(out);
- }
- // écriture de la fin du document HTML
- out.println("</body>\n" );
- out.println("</html>\n" );
- try
- {
- rs.close();
- stmt.close();
- conn.close();
- }
- catch (Exception e)
- {
- out.println("<h1 align='center'>Une erreur est survenue !...</h1>" );
- }
- }
- public void destroy()
- {
- }
- }
|
Je sais que ça aurait été plus simple en PHP, mais c'est un exercice que j'ai à faire
Merci d'avance pour votre aide !