Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1203 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  aide java

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

aide java

n°367238
fredjava2
Posté le 19-04-2003 à 17:24:12  profilanswer
 

voici un servlet qui insere des donnees dans une base,or en le testant  directement sur internet couplé à un fichier html de formulaire avec juste deux champs à remplir:nom et prenom,cela ne marche pas.
je n'ai pas d'environnement de developpement de servlet avec une base en local afin de tester ma servlet,j'aimerais donc que quelqu un qui possède ceci le teste et apporte les eventuelles corrections à mon servlet,de raisonnement ou de syntaxe,en tous cas le plus gros est fait.
 
package sans_titre10;
 
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
 
 
public class Servlet1 extends HttpServlet {
  private static final String CONTENT_TYPE = "text/html";
  /**Initialiser les variables globales*/
  public void init() throws ServletException {
  Connection con = null;
  public void init ()
  throws ServletException {
  //ServletConfig cfg;
  //super.init (cfg);
  // Load driver
  //String name = cfg.getInitParameter("driver" );
  Class.forName("org.gjt.mm.mysql.Driver" );
  // Get Connection
  con = DriverManager.getConnection ("jdbc:mysql:http://ip","login","pass" );
 
  }
  /**Traiter la requête HTTP Get*/
  public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    response.setContentType(CONTENT_TYPE);
    PrintWriter out = response.getWriter();
    out.println("<font color=\"green\">" );
    out.println("<p>Le servlet a reçu un GET. Ceci est la réponse.</p>" );
    out.println("</font>" );
  }
  /**Traiter la requête HTTP Post*/
  public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    response.setContentType(CONTENT_TYPE);
    PrintWriter out = response.getWriter();
 
  // Have browser ignore cache - force reload
  response.setHeader ("Expires",
    "Mon, 01 Jan 1990 00:00:00 GMT" );
 
  Statement stmt = null;
  ResultSet result = null;
  String nom = "";
  String prenom = "";
   
 
  nom = request.getParaMeter("Nom" );
  prenom = request.getParaMeter("Prenom" );
   
 
  try {
 
    // Submit query
    stmt = con.createStatement();
   
    result = stmt.executeQuery (
    "INSERT INTO polo2_membres(nom,prenom)
        VALUES  ('nom','prenom';);" );
 
    out.println("<html>" );
    out.println("<head><title>Servlet1</title></head>" );
    out.println("<body bgcolor="#000000"><font face="Felix Titling" size="7" color="#996669">" );
    out.println("<center><h1>il fait beau.</h1><br><br><br><font face="Felix Titling" size="4" color="#996669">le beau temps va durer 4 jours<a href="http://www.domaine.com/">ici</a>." );
    out.println("</body></html>" );
    } finally {
      if(result != null){
              result.close();
      }
      if(stmt != null){
              stmt.close();
      }
      }
    out.flush();
    out.close();
  }
  /**Nettoyer les ressources*/
  public void destroy() {
  super.destroy();
  con.close();
  }
}

mood
Publicité
Posté le 19-04-2003 à 17:24:12  profilanswer
 

n°367369
souk
Tourist
Posté le 19-04-2003 à 21:32:53  profilanswer
 

il me semble qu'il ne faut pas de point virgule a la fin de ta requete (dans la String)
 
c'est possible que l'erreur vienne de la

n°368393
fredjava2
Posté le 22-04-2003 à 13:31:06  profilanswer
 

j'ai fait cette servelt qui est assez inhabituelle car elle INSERE des donnes,j'attends donc que quelqu un de competent voit l'interet de reprendre la chose car cela peut servir et me la corrige en la testant merci.

n°368395
Cherrytree
cn=?
Posté le 22-04-2003 à 13:35:28  profilanswer
 

fredjava2 a écrit :

j'attends donc que quelqu un de competent... et me la corrige en la testant merci.

[:rofl]  [:rofl]  [:rofl]


---------------
Le site de ma maman
n°368396
darklord
You're welcome
Posté le 22-04-2003 à 13:36:09  profilanswer
 


 
pour une fois que c'est pas moi mais .............
 
 
 [:rofl]  [:rofl]  [:rofl]


---------------
Just because you feel good does not make you right
n°368398
fredjava2
Posté le 22-04-2003 à 13:40:22  profilanswer
 

je n'ai pas d'environnment j2ee configuré et pas de base en local,cela sera + que possible pour quelqu un qui connait de voir le vice et de la tester ensuite

n°368429
darklord
You're welcome
Posté le 22-04-2003 à 14:14:36  profilanswer
 

moi je dis trol :o
 
ban :o


---------------
Just because you feel good does not make you right
n°368434
fredjava2
Posté le 22-04-2003 à 14:19:08  profilanswer
 

ça veut dire quoi "trol"?

n°368467
ernst
Posté le 22-04-2003 à 15:02:49  profilanswer
 

fredjava2 a écrit :

 nom = request.getParaMeter("Nom" );
  prenom = request.getParaMeter("Prenom" );
   
 
  try {
 
    // Submit query
    stmt = con.createStatement();
   
    result = stmt.executeQuery (
    "INSERT INTO polo2_membres(nom,prenom)
        VALUES  ('nom','prenom';);" );


 
C'est plutot:
result = stmt.updateQuery (
    "INSERT INTO polo2_membres(nom,prenom)
        VALUES  ('"+nom+"','"+prenom+"';)" );
 

n°368470
the real m​oins moins
Posté le 22-04-2003 à 15:03:56  profilanswer
 

fredjava2 a écrit :

servelt qui est assez inhabituelle car elle INSERE des donnes

:sweat:


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
mood
Publicité
Posté le 22-04-2003 à 15:03:56  profilanswer
 

n°368471
ernst
Posté le 22-04-2003 à 15:04:12  profilanswer
 

ernst a écrit :


 
C'est plutot:
result = stmt.updateQuery (
    "INSERT INTO polo2_membres(nom,prenom)
        VALUES  ('"+nom+"','"+prenom+"';)" );
 
 


oups, updateQuery ne retourne rien.
Desole

n°368472
Cherrytree
cn=?
Posté le 22-04-2003 à 15:04:15  profilanswer
 

ça existe getParaMeter ?


---------------
Le site de ma maman
n°368473
the real m​oins moins
Posté le 22-04-2003 à 15:04:46  profilanswer
 

Cherrytree a écrit :

ça existe getParaMeter ?

non


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°368474
the real m​oins moins
Posté le 22-04-2003 à 15:05:05  profilanswer
 

ernst a écrit :


oups, updateQuery ne retourne rien.
Desole

si, mais c'est executeUpdate  la methode :o


Message édité par the real moins moins le 22-04-2003 à 15:09:09

---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°368479
ernst
Posté le 22-04-2003 à 15:08:10  profilanswer
 


et en plus c'est executeUpdate();
Oui, enfin ca ne revoit pas de ResultSet, comme le disait mon post...

n°368482
the real m​oins moins
Posté le 22-04-2003 à 15:09:31  profilanswer
 

ernst a écrit :


et en plus c'est executeUpdate();
Oui, enfin ca ne revoit pas de ResultSet, comme le disait mon post...

ben ça renvoie le nombre de records "touchés" par la requete [:spamafote]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°368775
fredjava2
Posté le 22-04-2003 à 19:26:10  profilanswer
 

les + sont faux,c'est une requete sql pas besoin de mettre des +qui ne sont necessaires que lorsque on met quelque chose DANS DU JAVA OR LA C EST PAS DU java c'est sql.
 
par contre le M ok.
 
je voudrais par contre si c'est juste le code du traitement de la requete par executupdate(),mais à mon avis ça aussi c'est faux car on ne met rien à jour,on INSERE des donnes,pour un select c'est la bonne methode alors pour un insert il n' y a pas de raison que cela change

n°368781
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 22-04-2003 à 19:34:32  profilanswer
 

fredjava2 a écrit :

les + sont faux,c'est une requete sql pas besoin de mettre des +qui ne sont necessaires que lorsque on met quelque chose DANS DU JAVA OR LA C EST PAS DU java c'est sql.


Non, ce qu'il te dit c'est :

Citation :

result = stmt.updateQuery("INSERT INTO polo2_membres (nom,prenom) VALUES ('" + nom + "','" + prenom + "';)" );


nom et prenom sont 2 variables JAVA. Il a pensé que tu voulais peut-être insérer des variables dans ta requête et non pas les chaînes "nom" et "prénom".
 

fredjava2 a écrit :


je voudrais par contre si c'est juste le code du traitement de la requete par executupdate(),mais à mon avis ça aussi c'est faux car on ne met rien à jour,on INSERE des donnes,pour un select c'est la bonne methode alors pour un insert il n' y a pas de raison que cela change


Alors si t'as lu la Javadoc de Statement, tu t'aperçois que :
* pour les requêtes de type INSERT, UPDATE ou DELETE la méthode executeUpdate() est indiquée.
* pour les requêtes de type SELECT ou autre requêtes renvoyant un résultat, c'est executeQuery() qui est recommandée.
La différence : INSERT ne renvoie pas de résultat, contrairement à un SELECT. Maintenant, si t'as envie, tu peux aussi utiliser executeQuery() pour faire un INSERT.


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°368783
fredjava2
Posté le 22-04-2003 à 19:36:50  profilanswer
 

alors c'est exactement la meme structure suaf que à la place de executequery on met executeupdate?

n°368787
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 22-04-2003 à 19:40:52  profilanswer
 

fredjava2 a écrit :

alors c'est exactement la meme structure suaf que à la place de executequery on met executeupdate?


Non, pas tout à fait : http://java.sun.com/j2se/1.4.1/doc [...] ement.html
La méthode executeUpdate() renvoie un int alors que executeQuery() renvoie un ResultSet. Normal, puisque pour executeUpdate on a juste besoin de savoir le nombre de lignes affectées, alors que pour executeQuery() on a un résultat plus compliqué qui dépend totalement de la requête.


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°368809
the real m​oins moins
Posté le 22-04-2003 à 20:07:20  profilanswer
 

fredjava2 a écrit :

les + sont faux,c'est une requete sql pas besoin de mettre des +qui ne sont necessaires que lorsque on met quelque chose DANS DU JAVA OR LA C EST PAS DU java c'est sql.
 
par contre le M ok.
 
je voudrais par contre si c'est juste le code du traitement de la requete par executupdate(),mais à mon avis ça aussi c'est faux car on ne met rien à jour,on INSERE des donnes,pour un select c'est la bonne methode alors pour un insert il n' y a pas de raison que cela change

putain cte connard  :ouch:


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°369104
benou
Posté le 23-04-2003 à 08:06:48  profilanswer
 

the real moins moins a écrit :

putain cte connard  :ouch:  


ouais il se permet de contredire quelqu'un qui lui donne la solution  :pfff:  
 
inon, Mr fred, rien qu'avec le coup du getParaMeter à la place du getParameter, ca veut dire que ta classe ne compile pas. Alors si à la place de dire "cela ne marche pas" tu détaillais un peu ce qui ne marche pas et que tu donnais le message d'erreur que tu obtiens ...


---------------
ma vie, mon oeuvre - HomePlayer
n°370374
mauvais_ka​rma
I'll be damned
Posté le 24-04-2003 à 13:52:09  profilanswer
 

fredjava2 a écrit :

ça veut dire quoi "trol"?


 
C'est tous les topics que tu as fais !!
Presque tous les topics que tu crées sont fermés  :lol:  
 
Pour quelqu un qui est supposé etre ingenieur Logiciel spe J2ee, qui se dis un génie, au fait c 'est quand que tu nous écrases avec ta porsche ?
 
En fait je ne sais pas si je dois répondre a ta question JAVA vu ton attitude dans les autres topics.
Mais les autres membres t'ont deja donné la réponse donc...


Message édité par mauvais_karma le 24-04-2003 à 13:53:32
n°370401
Serial Cod​er
Posté le 24-04-2003 à 14:02:55  profilanswer
 

:hello:
 
fredjava2 > étant donné que tu sembles être une bête en programmation Java, je souhaiterais te demander un truc.
 
Je suis un expert en XHTML/CSS, Javascript, etc... Ca fait plusieurs mois que j'entends un truc qui me turlupine : il semblerait qu'on puisse insérer du Java directement dans une page HTML.
 
J'ai essayé plusieurs fois, avec les fameuses balises <java>...</java> et ça ne marche pas. J'ai un runtime error à la ligne 12.
 
Je suis persuadé que c'est faisable ! Etant donné que tu es expert en génie logiciel, j'espère que tu pourras m'aider, car j'ai vraiment envie d'agrémenter mon site web :(
 
Je te remercie par avance :hello:


---------------
Je code en série et en parallèle
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  aide java

 

Sujets relatifs
[JAVA] - Tester la non nullité d'un champ - Besoin Aide 1 min maxi ![Java] besoin d'aide bidouillage BigInteger BigDecimal
Aide au java pliz[Java DOM] Une petite aide ...
Fichier d'aide sur Java ?Urgent Besoin d'aide pour finaliser un programme ORACLE/JAVA sur lyon
aide sur l'ouverture de fichiers en java[java (ou C++) + mysql] hypra débutant, demande aide :(
Aide Java[URGENT] [Java] aide sur JList !!
Plus de sujets relatifs à : aide java


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR