Cette méthode à placer dans l'applet va envoyer un tableau (qui est un objet) contenant des arguments de requete SQL à une servlet qui renvoie un autre tableau de données contenant le résultat de la requête.
public String[][] recupAllData(){
String[] tabData= new String[3];
tabData[0]=argument1;
tabData[1]=argument2;
tabData[2]=argument3;
try{
URL urlServlet=new URL("http://monServeur/monSite/servlet/getData");
URLConnection connexion=urlServlet.openConnection();
connexion.setDoOutput(true);
ObjectOutputStream sortieObjet= new ObjectOutputStream(connexion.getOutputStream());
sortieObjet.writeObject(tabData);
ObjectInputStream entreeObjet= new ObjectInputStream(connexion.getInputStream());
return (String[][])entreeObjet.readObject();
}catch(Exception e){
zoneMessage.reEcris(msgErr2);
System.out.println(e.toString());
return null;
}
}
à mettre dans la servlet :
attention les déclarations de variables ne sont pas présentées
public void doPost(HttpServletRequest requete,HttpServletResponse reponse){
try{
sortieObjet= new ObjectOutputStream(reponse.getOutputStream());
entreeObjet= new ObjectInputStream(requete.getInputStream());
String[][] monTableauResultat;
/*************************récupération des données de l'applet */
lesDonnees=(String[])entreeObjet.readObject();
/*************************on pose la question à la base de données */
requeteSql= "SELECT nom, prenom, mail from maTable "+
" where arg1='"+lesDonnes[0]+"' "+
" and arg2='"+lesDonnes[1]+"' and arg3='"+lesDonnes[2]+"' ";
/** on pose la question à la base de données
je vous montre pas le bout de code qui pond la réponse
*/
/******************************renvoi du tableau de résultat */
sortieObjet.writeObject(monTableauResultat);
}catch(Exception e){
System.out.println(" ERR >> getData :"+e);
}
}
|