IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Applets Java Discussion :

[APPLET-SERVLET] download oui mais upload non ...


Sujet :

Applets Java

  1. #1
    Membre habitué Avatar de meufeu
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    355
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 355
    Points : 166
    Points
    166
    Par défaut [APPLET-SERVLET] download oui mais upload non ...
    Bonjour,

    J'ai mis en place une communication entre mon applet et ma servlet ..
    le but est de pouvoir donwloader et uploader un fichier sans que l'utilisateur n'aie a cliquer sur quoi que ce soit ... (on est en intranet c'est donc sécurisé)

    j'ai réussi a faire marcher le download ... ca marche impec ..
    Pour l'upload j'ai reproduit la meme méthode

    -créer une applet : UploadApplet
    -la déclarer et créer un alias qui pointe sur elle /aliasUploadApplet dans mon web.xml
    -en terme de code je me suis inspiré du code pour le dowbnload en inversant les roles et en faisant les modif nécessaires ...

    le probleme, c'est qu'il ne rentre meme pas dans ma servlet alors que l'url de connexion qu'il a est la bonne (pour preuve, quand je la tape dans le navigateur a la main, il rentre dedans ..)

    Je ne vois pas du tout d'ou cela peut bien venir, c'est pour cette raison que j'en fait appel a vos lumieres ..

    Merci d'avance

  2. #2
    Membre habitué Avatar de meufeu
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    355
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 355
    Points : 166
    Points
    166
    Par défaut
    a la différence pres que quand je tape l'adresse a la main dans le navigateur, il va dans la méthode doget ..
    alors que je veux aller dans la dopost ..

  3. #3
    Expert éminent

    Avatar de christopheJ
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 600
    Points : 8 235
    Points
    8 235
    Par défaut
    a la différence pres que quand je tape l'adresse a la main dans le navigateur, il va dans la méthode doget ..
    alors que je veux aller dans la dopost ..
    C'est le comportement normal de tout navigateur web...
    Peux-tu mettre un peu de code au moment de la connexion et de l'établissement des flux?

  4. #4
    Membre habitué Avatar de meufeu
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    355
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 355
    Points : 166
    Points
    166
    Par défaut
    je comprends pas pourquoi c'est le comportement normal du navigateur ..
    avec plaisir :

    voila ma fonction qui est censée faire l'upload dans mon 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
    	private void Upload(File sourcelocale) {
    	   try {
    		 // Ouverture d'une communication avec la servlet  
    		 URL urlCodeBase = new URL(getCodeBase() + "");
    		 String base = getCodeBase().toString().substring(0,getCodeBase().toString().length() -1 );
    		 int fin = base.lastIndexOf('/');
    		 String racine = getCodeBase().toString().substring(0,fin);
    		 URL servletURL2 = new URL( racine + "/OGDE/aliasUploadServlet?fileName=test.png"); 
    		 System.out.println("Url de connexion à la servlet pour UPLOAD: "+servletURL2.toString());
    		 URLConnection servletConnection =  servletURL2.openConnection();
    		 //servletConnection.setRequestMethod("POST");
    		 servletConnection.setDoInput(false);
    		 servletConnection.setDoOutput(true);
    		 servletConnection.setUseCaches(false);
    		 servletConnection.setDefaultUseCaches(false);
    		 //servletConnection.setRequestProperty("Content-Type","application/octet-stream");
    		 System.out.println("-1");
    		 //upload the file 
    		 OutputStream out = servletConnection.getOutputStream();
    		 DataOutputStream dos = new DataOutputStream(out);
    		 FileInputStream fis = new FileInputStream(sourcelocale);
    		 byte[] tab = new byte[1024];
    		 int lu = fis.read(tab);
    		 while(lu>=0) {
    			dos.write(tab, 0, lu);
    			lu = fis.read(tab);
    		 }
    		 System.out.println("-2");
    		 dos.flush();
    		 dos.close();
    		 fis.close();
    		 out.close();
    		 System.out.println("-3");
    	   } catch (IOException e) {
    		 e.printStackTrace();
    	   }	
    	 }

    et le code qui est censé récupéré le fichier dans la 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
      public void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    	String path = "C:/project/OGDE/struts/webroot/data";
    	System.out.println(" filename recu par servlet "+req.getAttribute("filename"));
    	InputStream in = req.getInputStream();		
    	DataInputStream dis = new DataInputStream(in);
    	File serverFile = new File(path+"/BILLARD.EXE");
    	System.out.println("fichier uploadé :"+serverFile.getPath());
    	FileOutputStream fos = new FileOutputStream(serverFile);
    	byte[] tab = new byte[1024];
    	int lu = dis.read(tab);
    	while(lu>=0) {
    	   fos.write(tab, 0, lu);
    	   lu = dis.read(tab);
    	}
    	fos.flush();
    	fos.close();
    	dis.close();

  5. #5
    Expert éminent

    Avatar de christopheJ
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 600
    Points : 8 235
    Points
    8 235
    Par défaut
    Citation Envoyé par meufeu
    je comprends pas pourquoi c'est le comportement normal du navigateur ..
    Quand tu tapes l'adresse dans la barre d'adresse et valide, le navigateur fait un doget sur cette adresse. Je ne sais pas si c'est la "norme'" de fonctionnement des navigateurs, mais c'est le comportement classique.

    Pour le code, c'est le meme que celui qui est résolu dans ce poste?
    Est ce que le probleme existe encore?

  6. #6
    Membre habitué Avatar de meufeu
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    355
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 355
    Points : 166
    Points
    166
    Par défaut
    oui j'ai le pb est le meme mais comme le code a changé et que le post était relativement vieux ..

    et bien la maintenant le probleme est qu'il rentre bien dans la servlet mais n'en ressort jamais ... il me fait une ch|ée d'erreur qui fait planter tomcat ...

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    509
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 509
    Points : 568
    Points
    568
    Par défaut
    quelles erreurs ???
    UML avec VIOLET

  8. #8
    Membre habitué Avatar de meufeu
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    355
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 355
    Points : 166
    Points
    166
    Par défaut
    ben j'ai pas eu le temps de lire, ca défile trop vite ..

    mais apres nettoyage des classes générées, une recompilation, un arret relance de tomcat, c résolu !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Main form invisible oui mais NON
    Par sp2308 dans le forum Débuter
    Réponses: 3
    Dernier message: 24/10/2013, 13h14
  2. Javascript + code behind. oui mais non
    Par jacky01 dans le forum ASP.NET
    Réponses: 3
    Dernier message: 11/06/2012, 11h38
  3. Clause de non mobilité, oui mais !?
    Par knolz dans le forum SSII
    Réponses: 17
    Dernier message: 09/06/2011, 16h14
  4. Gif oui, mais JPEG non.
    Par scholes dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 19/03/2009, 00h02
  5. [com applet-servlet][file upload] CharConversionException
    Par meufeu dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 10/08/2004, 12h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo