Salut,
j'ai un applet qui récupère des données via un logiciel tiers installé sur le client. J'aurai besoin de transmettre l'une de ces infos à une servlet.
Si quelqu'un sait comment faire sans le passer dans l'url ?
Merci
Salut,
j'ai un applet qui récupère des données via un logiciel tiers installé sur le client. J'aurai besoin de transmettre l'une de ces infos à une servlet.
Si quelqu'un sait comment faire sans le passer dans l'url ?
Merci
As-tu regardé dans la FAQ ?
Il y a ceci. Est-ce que c'est ce que tu souhaites ?
ouais mais j'aimerai le faire entièrement en post, et éviter de passer des paramètres à travers l'url.
J'ai vu quelques exemples sur le net, mais n'arrive à rien de concret pour l'instant.
En get, je passe mes paramètres, cela marche même si je l'ai fait autrement.
Là en gros j'aimerai passer un objet de mon applet vers ma servlet sur le clic d'un bouton qui se trouve dans l'applet.
Mais ouais, il y a quelques pistes aussi au niveau de la faq
Je mets du code dès que j'ai quelque chose de plus consistant
Euh, la FAQ c'est justement pour faire du POST.
Sinon :
http://hc.apache.org/httpcomponents-...lient/apidocs/
côté applet
Pourtant j'ai fait cela, mais je récupère rien côté servlet
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 String servletPath = "http://localhost:8081/webApp1.6/servlet/connect"; URL monUrl; try { monUrl = new URL(servletPath); URLConnection con = monUrl.openConnection(); con.setDoInput(true); con.setDoOutput(true); //turn off caching con.setUseCaches(false); con.setDefaultUseCaches(false); con.setRequestProperty("Content-Type","application/octet-stream"); con.connect(); ObjectOutputStream out = new ObjectOutputStream(con.getOutputStream()); EidDataTransfer monObjet = new EidDataTransfer(); monObjet.seteIdCardNumber("17090917"); out.writeObject(monObjet); out.flush(); out.close(); } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 response.setContentType("application/x-java-serialized-object"); try { ObjectInputStream inputFromApplet = new ObjectInputStream(request.getInputStream()); EidDataTransfer myObject = (EidDataTransfer) inputFromApplet.readObject(); System.out.println(myObject.geteIdCardNumber()); ObjectOutputStream outputToApplet = new ObjectOutputStream(response.getOutputStream()); outputToApplet.writeObject(myObject); outputToApplet.flush(); } catch(Exception e) { // ... }
Voilà le code fonctionnel côté applet
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 URL urlservlet; try { urlservlet = new URL("http://localhost:8081/.../servlet/connect"); //message qu'on passe - String nomFichier = " - test d'émission côté applet - "; HttpURLConnection con = (HttpURLConnection)urlservlet.openConnection(); System.out.println("tentative de connexion post "+ con); con.setDoInput(true); con.setDoOutput(true); con.setUseCaches(false); con.setRequestMethod("POST"); con.setRequestProperty("Content-Type", "application/x-java-serialized-object"); con.connect(); // Envoyer le texte saisi OutputStream outstream = con.getOutputStream(); ObjectOutputStream oos = new ObjectOutputStream(outstream); oos.writeObject(nomFichier); oos.flush(); oos.close(); if(con.getResponseCode() == HttpURLConnection.HTTP_OK) { System.out.println("on est connecté"); System.out.println("la requete a été envoyé"); getAppletContext().showDocument(new URL("http://localhost:8081/.../servlet/connect")); }else{ System.out.println("Connection echoué"); } con.disconnect(); } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }
et côté servlet
ca tourne pour les suivants
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 response.setContentType("application/x-java-serialized-object"); System.out.println("DOPOST\n"); InputStream in = request.getInputStream(); ObjectInputStream inputFromApplet = new ObjectInputStream(in); try { String reponse = (String)inputFromApplet.readObject(); System.out.println(reponse + " : reponse"); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } inputFromApplet.close();
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager