Partage
  • Partager sur Facebook
  • Partager sur Twitter

[JAVA EE] Redirection ne marche pas

Redirection ne marche pas ni avec sendRedirect ni avec RequestDispatch

    24 mai 2023 à 19:28:48

    Bonjour,
    J'ai un problème concernant ma servlet qui insère les données à la base de données. J'ai un formulaire html avec la méthode post qui envoie les données vers la servlet qui a son tour insère les données et renvoie vers un autre diffèrent formulaire, j'ai essayé d'utiliser la fonction sendRedirect et RequestDispatcher mais ça n'a pas marché, quand j'ai essayé d'afficher un message d'erreur dans le catch ça me saute directement la bas. quand j'enlève les redirections et je mets juste un message que les données sont insérées ca marche très bien mais des que j'ajoute la redirection tout bug j'ai les bibliothéque nécessaire étant donné j'ai déjà utiliser les requêtes select et delete et ça a marché sans problème.
    Que faire ?

    Voici ma servlet qui permet d'insérer les données a la base de données:

    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.sql.*;
    
    public class AjouterFacture extends HttpServlet {
    
        public void doPost(HttpServletRequest requete, HttpServletResponse reponse)
                throws ServletException, IOException {
                reponse.setContentType("text/html;charest=UTF-8");
                String numfac = requete.getParameter("numfac");
                String datefac = requete.getParameter("datefac");
                String choix = requete.getParameter("choix");
                int id = Integer.parseInt(requete.getParameter("id"));
                
                String sqlQuery = "INSERT INTO `facture`(`Num-facture`, `Date-facture`, `Mode-paiement`, `Id_client`) VALUES ('" + numfac + "', '" + datefac + "', '" + choix + "', '" + id + "')";
            try {
                Class.forName("com.mysql.jdbc.Driver");
                Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/facturation", "root", "");
                Statement stmt = con.createStatement();
                int r = stmt.executeUpdate(sqlQuery);
                
                if(r > 0){
                RequestDispatcher rd = requete.getRequestDispatcher("FormulaireAjouterLigneFacture.jsp");
                rd.forward(requete, reponse);
                }
            else{
                RequestDispatcher rd = requete.getRequestDispatcher("FormulaireAjouterFacture.jsp");
                rd.include(requete, reponse);
                PrintWriter out = reponse.getWriter();
                out.print("Insertion failed.");
            }
                } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

    et voici mon formulaire .jsp:

    <body>
      <div class="container">
        <form method="POST" action="AjouterFacture">
          <div class="form-group">
            <label for="numfac">Numéro de facture :</label>
            <input type="text" id="nom" name="numfac" required>
          </div>
          <div class="form-group">
            <label for="datefac">Date facture :</label>
            <input type="date" id="telephone" name="datefac" required>
          </div>
          <div class="form-group">
            <label for="choix">Mode Paiement :</label>
            <select name="choix">
                <option value="carte">Carte bancaire</option>
                <option value="cheque">Cheque bancaire</option>
                <option value="liquide">Liquide</option>
            </select>
          </div>
          <div class="form-group">
            <label for="id">Id client :</label>
            <input type="number" id="email" name="id" required>
          </div>
          <button class="btn-submit" type="submit">OK</button>
        </form>
      </div>
    </body>

    merci de bien vouloir m'aider je bloque sur ça depuis quelque temps.

    • Partager sur Facebook
    • Partager sur Twitter

    [JAVA EE] Redirection ne marche pas

    × 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