zut69
Messages postés354Date d'inscriptionlundi 26 juillet 2004StatutMembreDernière intervention26 juin 2012
-
29 mai 2008 à 13:29
zut69
Messages postés354Date d'inscriptionlundi 26 juillet 2004StatutMembreDernière intervention26 juin 2012
-
29 mai 2008 à 21:51
Bonjour,
J'ai réussi à intégrer dans mon applet le code qui suit. Cependant, est-ce que quelqu'un pourrait m'eclaircir sur la façon dont il fonctionne? En fait, le but de mon applet c est de lire un fichier côté client, de le modifier et de l'envoyer par la méthode POST à une page web. Ce code permet la derniere étape: l'envoi par POST.
Alors voilà mes quelques questions:
- Tout d'abord quand je crée un File (1ere ligne) que doit valoir chemin? que vaut this?
- Ensuite dans Part : Comment dois-je définir la variable fichier?
Ombitious_Developper
Messages postés2333Date d'inscriptionsamedi 28 février 2004StatutMembreDernière intervention26 juillet 201338 29 mai 2008 à 15:11
Salut:
- Tout d'abord quand je crée un File (1ere ligne) que doit valoir chemin? que vaut this?
this : est une référence sur l'objet courant.
this.chemin : indique l'attribut [chemin] de l'objet courant. Suppons que tu as une méthode quelconque tu as un paramètre ayant le même nom que cet attribut.
public void method(String chemin) {
// ...
}
Pour pouvoir différencier entre l'attribut et ce paramètre on utilise this.chemin.
public void method(String chemin) {
// Ici on est en train de manipuler le paramètre de la méthode
chemin = ...;
// Ici on est on train de manipuler l'attribut
this.chemin = ...;
// Un autre exemple
this.chemin = chemin;
}
- Ensuite dans Part : Comment dois-je définir la variable fichier?
Comme je n'ai pas un code devant moi, je ne peux pas te répondre.
zut69
Messages postés354Date d'inscriptionlundi 26 juillet 2004StatutMembreDernière intervention26 juin 20121 29 mai 2008 à 17:06
Ok merci,
Je comprends. J'ai fait quelques modifications pour faciliter les choses. En fait, je vais envoyer le contenu du fichier par POST et le créer par après en PHP. Donc plus besoin de la ligne "File ..." Par contre, là il me semble que tout est correct, mais quand je teste le programme, une fois que j'ai choisi le fichier et cliquer sur OK, la console me met cette erreur:
Exception in thread "AWT-EventQueue-1" java.lang.NoClassDefFoundError: org/apache/commons/codec/DecoderException
Voilà mon code. Si tu pouvais m'aider ce serait super.
import org.apache.commons.httpclient.*; // la librairie a dû être téléchargé et ajoutée au projet.
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.methods.multipart.*;
public class Cryptage extends JApplet implements ActionListener
{
JButton button1 = new JButton();
boolean successful=true;
JOptionPane jop = new JOptionPane();
public void init()
{
button1.setLabel("Parcourir...");
this.getContentPane().add(button1, BorderLayout.SOUTH);
button1.setBounds(20,200,98,30);
button1.addActionListener(this);
}
public void actionPerformed(ActionEvent ae)
{
if(ae.getSource().equals(button1))
{
String contenu = null;
String contenu_crypte = null;
String temp = null;
int i = 0; //nb de lignes
try
{
JFileChooser fileDialog = new JFileChooser( );
int retour = fileDialog.showSaveDialog(this); // 1 si aucun fichier soumis, sinon 0
fileDialog.show( );
System.out.println(fileDialog.getSelectedFile());
FileReader fichier = new FileReader(fileDialog.getSelectedFile());
BufferedReader br = new BufferedReader(fichier);
temp = new String();
contenu = new String();
HttpClient client = new HttpClient();
client.executeMethod(methodePost);
//affiche la réponse du serveur
System.out.println(new String(methodePost.getResponseBody()));
}
catch(IOException e)
{
System.out.println("Erreur IOException!");
e.printStackTrace(); // affiche les infos sur l erreur
}
}
}
}
zut69
Messages postés354Date d'inscriptionlundi 26 juillet 2004StatutMembreDernière intervention26 juin 20121 29 mai 2008 à 21:01
Salut,
Merci pour ta réponse.
Je suis sous Eclipse et je fais ctrl+F11 et il ouvre mon projet avec l'AppletViewer. En fait, il ne m'affiche aucune erreur de compilation et à l'exécution, c est quand il arrive à la ligne PostMethod qu'il m'affiche des erreurs dans la console.
Tu penses que si j'intègre l'applet à une page web l'erreur disparaîtra? Parce que mon code demande l'ouverture d'une page web, alors peut-être que l'AppletViewer ne sait pas le faire.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Ombitious_Developper
Messages postés2333Date d'inscriptionsamedi 28 février 2004StatutMembreDernière intervention26 juillet 201338 29 mai 2008 à 21:44
Salut:
Tu as bien fait d'exécuter ton applet à partir d'Eclipse.
Je pense que tu dois inclure le JAR de l'API HttpClient lors de la déclaration de l'applet (A toi de vérifier le nom exacte de du fichier JAR de l'API HttpClient, personnellement, j'ai la version 3.1.0):
zut69
Messages postés354Date d'inscriptionlundi 26 juillet 2004StatutMembreDernière intervention26 juin 20121 29 mai 2008 à 21:51
Ok merci,
je testerai ça demain, parce que là j'ai pas trop le temps (test d'histoire demain :-S )
Je donnerai des nouvelles demain soir.
Donc ce que tu me dis de faire c est de copier le commons....jar sur mon serveur?
Je suis pas encore vraiment au point sur la manière pour intégrer mon applet. Le .class je le prend dans le dossier bin?
ce code dans la page html et ça devrait être bon?