cs_Angelina38
Messages postés30Date d'inscriptionsamedi 13 novembre 2004StatutMembreDernière intervention 5 juillet 2006
-
28 mai 2005 à 08:33
pikamo
Messages postés34Date d'inscriptiondimanche 21 mars 2010StatutMembreDernière intervention21 novembre 2012
-
22 mai 2012 à 12:17
Bonjour,
Je travaille actuellement avec jbuilder et Tomcat. Dans un premier temps, j'ai réalisé un formulaire en html qui doit renseigner les champs d'une des tables
La base de données à d'abord était sur Easyphp avec PhpAdmin. la base se nomme luna et la table stagiaire Et ensuite mis dans le fichier des servlets :
Voici le code de la servlet qui a pour but de réxupérer les info du formulaire et les enregistrer dans la table comme nouvel enregistrement:
public Connection con;//connexion à la basse de données
public String maRequeteSql ="";//la requête SQL à exécuter
public String driver;// pilote de la base de données
protected String url;// accès à la base de données
public ResultSet monResultSet=null; // l'objet qui récupére le résultat de la requete SQL
public Statement stmt=null;//l'objet statement pour atttaquer la base de données
public ResultSetMetaData rsmd=null;// les meta données sur la table
public int Enregistrement;
public void doPost(HttpServletRequest req, HttpServletResponse res){
res.setContentType("text/html");
//variable pour récupérer l'information dans le formulaire
String id ="";
String nom ="";
String prenom ="";
String adresse1="";
String adresse2="";
String codepostal="";
String ville ="";
// entete
try{
PrintWriter out=res.getWriter();
// récupérer la valeur saisie
id = req.getParameter("idStagiaire");
nom =req.getParameter("nom");
prenom=req.getParameter("prenom");
adresse1=req.getParameter("adr1");
adresse2=req.getParameter("adr2");
codepostal=req.getParameter("codePostal");
ville=req.getParameter("ville");
out.println("<HTML>");
out.println("");
out.println("
Les informations ont bien été transmises au serveur luno");
out.println("");
out.println("</HTML>");
// accés à la base de données
url = "jdbc:mysql://localhost//luna?user=root&password=";
//pilote natif de la base de données
driver="org.gjt.mm.mysql.Driver";
//1.génération d'une connection
Class.forName(this.driver).newInstance();
con = DriverManager.getConnection(url);
//2.objet Statement pour accéder à la base de données
this.stmt=con.createStatement();
//3. Objet du résultat de la requete
// Fermeture de la connexion à la bdd
this.con.close();
}
catch (SQLException e){ //Les exceptions SQL
System.out.println(e.getMessage());
while((e=e.getNextException())!=null){
System.out.println("erreur SQL:"+e.getMessage());
}
}
catch(Exception ex){
System.out.println("erreur :"+ex);
}
}
}
Et je ne comprends pas pourquoi rien ne s'enregistre nul part ? Y a t il des erreurs dans le code ?
Un grand merci par avance
cs_sim51
Messages postés240Date d'inscriptiondimanche 31 octobre 2004StatutMembreDernière intervention31 décembre 20062 28 mai 2005 à 18:09
Re salut angelina38,
Alors tout d'abord un forum c'est fait pour suivre les réponse aux questions donc mets ici tes réactions au lieu de m'envoyer un message :p
sinon j'ai un petit problème avec ta requête sql :
1- pourquoi avoir séparé les deux ?
2- maRequeteSql = "INSERT INTO stagiaire(idStagaire, nom, prenom, adr1, adr2, codePostal, ville) VALUES ('" + id + "','" + nom + "','" + prenom +"','" + adresse1 + "','" + adresse2 + "','" + codepostal + "','" + ville + "')"
Cela me semble mieux car quand tu fais "VALUES ('+id+'...)" tu ouvres les " et tu les fermes à la fin, mais ce qu'il y a à l'interieur n'est pas remplacé.
Cependant je ne comprend pas pourquoi dans ta bdd il y a pas écrit +id+
Bon voilà.
N'oubliez pas de cliquer sur réponse acceptée si la réponse vous convient !!!
public Connection con;//connexion à la basse de données
public String maRequeteSql ="";//la requête SQL à exécuter
public String driver;// pilote de la base de données
protected String url;// accès à la base de données
public ResultSet monResultSet=null; // l'objet qui récupére le résultat de la requete SQL
public Statement stmt=null;//l'objet statement pour atttaquer la base de données
public ResultSetMetaData rsmd=null;// les meta données sur la table
public int Enregistrement;
public void doPost(HttpServletRequest request, HttpServletResponse res){
res.setContentType("text/html");
//variable pour récupérer l'information dans le formulaire
String id ="";
String nom ="";
String prenom ="";
String adresse1="";
String adresse2="";
String codepostal="";
String ville ="";
// entete
try{
PrintWriter out=res.getWriter();
// récupérer la valeur saisie
id = request.getParameter("idStagiaire");
nom =request.getParameter("nom");
prenom=request.getParameter("prenom");
adresse1=request.getParameter("adr1");
adresse2=request.getParameter("adr2");
codepostal=request.getParameter("codePostal");
ville=request.getParameter("ville");
out.println("<HTML>");
out.println("");
out.println("
Les informations ont bien été transmises au serveur luno");
out.println("");
out.println("</HTML>");
// accés à la base de données
url = "jdbc:mysql://localhost/luno?user=root&password=";//pilote natif mysql
//pilote natif de la base de données
driver="org.gjt.mm.mysql.Driver";
//1.génération d'une connection
Class.forName(this.driver).newInstance();
con = DriverManager.getConnection(url);
//2.objet Statement pour accéder à la base de données
Statement stmt=con.createStatement();
//3. Objet du résultat de la requete
maRequeteSql = "INSERT INTO stagiaire(idStagaire, nom, prenom, adr1, adr2, codePostal, ville) VALUES ('" + id + "','" + nom + "','" + prenom +"','" + adresse1 + "','" + adresse2 + "','" + codepostal + "','" + ville + "')";
// Fermeture de la connexion à la bdd
this.con.close();
}
catch (SQLException e){ //Les exceptions SQL
System.out.println(e.getMessage());
while((e=e.getNextException())!=null){
System.out.println("erreur SQL:"+e.getMessage());
cs_gattous
Messages postés100Date d'inscriptionvendredi 25 février 2005StatutMembreDernière intervention 7 octobre 2007 3 juin 2005 à 18:49
action= "http://127.0.0.1:8080/"?
ta servlet a pour url "/"? t'es sur d'avoir bien configuré ta servlet
ds le fichier web.xml? si la réponse est non je te propose ceci :