Ajout des données depuis jsp à BDD

Fermé
karimamaf Messages postés 1 Date d'inscription jeudi 14 décembre 2017 Statut Membre Dernière intervention 15 décembre 2017 - Modifié le 17 déc. 2017 à 10:58
tarek_dotzero Messages postés 817 Date d'inscription jeudi 19 juillet 2007 Statut Membre Dernière intervention 12 avril 2022 - 17 déc. 2017 à 00:32
Bonsoir , j'ai un projet sur gestion des produits et je veux ajouter des produit depuis ma jsp et je fais le traitement dans servlet
ms qd je clique sur ajouter il m'affiche une page vierge contient le chemin de servlet voici mon code
code JSP :
        <form method="post" action="ProductServlet"  >
      <table>
      
           <tr>
                <td>Nom: </td>
                <td><input type="text" name="productname"></td>
           </tr>
           
            
            <tr>
                <td>Prix: </td>
                <td><input type="text" name="prixProduit"></td>
           </tr>
           
            <tr>
                <td>Image:</td>
                <td><input type="text" name="photo"></td>
           </tr>
           
            
           <tr>
                <td></td>
                <td><input  class="btn btn-warning" type="submit" value="Add"><input class="btn btn-inverse" type="reset" value="Clear"></td>
           </tr>
      
      
      </table>
      
   </form>

et voici le code dans servlet :
public class ProductServlet extends HttpServlet {
 
 @Override
 protected void doPost(HttpServletRequest req, HttpServletResponse resp)
   throws ServletException, IOException {
  
     String productname= req.getParameter("productname");
    
     String prixProduit = req.getParameter("prixProduit");
     String photo = req.getParameter("photo");
    try {
       
     Class.forName("com.mysql.jdbc.Driver");
     Connection cnx = (Connection) DriverManager.getConnection("jdbc:mysql://localhost/bdcommerce","root","");
        PreparedStatement pr =  (PreparedStatement) cnx.prepareStatement("insert into produit (idProduit,productname,prixProduit,photo) values (default,?,?,?)");
       
     
pr.setString(1,productname);
pr.setString(2,prixProduit );
pr.setString(3,photo );



       
       
        
        pr.executeUpdate();
                                           pr.close();
                                           req.getRequestDispatcher("listproduct.jsp").forward(req, resp);                                     
    } catch (Exception e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
    }
        }
        protected void doGet(HttpServletRequest req, HttpServletResponse resp)
   throws ServletException, IOException {}
}

j'ai une présentation sur le projet demain SVVVP aidez-moi
Merci pour votre aide :)

1 réponse

tarek_dotzero Messages postés 817 Date d'inscription jeudi 19 juillet 2007 Statut Membre Dernière intervention 12 avril 2022 120
17 déc. 2017 à 00:32
Bonjour,

Vérifiez la console (le output de votre EDI) parce que, apparemment, il y a une erreur et la méthode :
e.printStackTrace()

Fait l'affichage dans la console.

De ma part, j'utilise le "null" pour un champs AUTO_INCREMENT tel que le idProduit dans votre cas.

Bon Courage.
0