Redirection bloqué sur backend java ee.

mariaP -  
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   -

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. 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();
        }
    }
}


j'utiise phpmyadmin xampp, netbeans 8.2 et glassfish comme serveur.

A voir également:

1 réponse

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 

Bonjour,

"quand j'ai essayé d'afficher un message d'erreur dans le catch ça me saute directement la bas"

C'est quoi l'erreur affichée par ton e.printStackTrace() ?


0