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 ftp ne fonctionnant que sur eclipse mais pas sur page web


Sujet :

Applets Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Applet ftp ne fonctionnant que sur eclipse mais pas sur page web
    Bonjour, je suis en train de réaliser une applet java de connexion à un serveur ftp.
    Lorsque j'exécute l'apllet avec l'applet viewer d'eclipse, tout fonctionne bien mais dès que je l'intègre dans une page web, les fonctionnalités ftp ne fonctionnent plus.
    Je possède bien le plug-in JRE 6 update 12 dans mon navigateur et je programme avec la même version installée sur mon ordinateur.
    Mon applet fonctionne correctement jusqu'à ce que je lui demande d'activer les fonctionnalités ftp et puis l'applet s'arrête de fonctionner.
    Est-ce que quelqu'un pourrait tester s'il vous plait.

    Mon programmme est décomposé en 4 classes :
    la première, la principale TestApplet.java qui crée l'apparence de mon applet avec un bouton qui quand on clique ouvre un JFileChooser qui va permmettre de choisir un fichier. Quand le fichier est chois, on lance une nouvelle instance de uploadtaskbis.java qui va tenter de uploader le fichier sur le serveur distant.
    C'est là que ça plante dans le navigateur.
    Il y a une classe JUploadProgress.java qui crée une JDialog pour patienter pendant le téléchargement et SingleFTP.java qui contient les fonctionnalités de bases de connexion via socket.
    TestApplet.java
    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
     
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.FlowLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.InputStream;
     
    import javax.swing.JFileChooser;
    import javax.swing.JApplet;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
    import javax.swing.JProgressBar;
    import javax.swing.SwingUtilities;
    import javax.swing.UIDefaults;
    import javax.swing.UIManager;
     
    import java.io.File;
     
    public class TestApplet extends JApplet {
     
    	public static SimpleFTP fttp;
     
    	private JButton bouton  = new JButton("Uploader");
    	private JFileChooser chooser;
     
    	private static String SERVEUR = "www.ae2cv.fr";
    	private static String USER = "anakin2hawk";
    	private static String PASSWORD = "skywalker";
     
     
    	/**
             * Méthode d'initialisation de l'applet
             * C'est cette méthode qui fait office de constructeur
            */
     
    	public void init(){
     
     
    	    this.setSize(300, 80);
            this.setBackground(Color.darkGray);
    		//On centre le texte du JLabel et on écrit en bleu...
     
    		//On ajoute nos composants
    		this.getContentPane().setBackground(Color.GRAY);
    		this.getContentPane().add(bouton, BorderLayout.SOUTH);
     
    		//Et le tour est joué !
     
     
    		    // Lors de l'appui sur le bouton, on crée un Jfile chooser qui va permettre de choisir le fichier à uploader
    		    this.bouton.addActionListener(new ActionListener(){
    			public void actionPerformed(ActionEvent arg0) {
     
     
    				// On crée un JFileChooser pour choisir le fichier à uploader
    					           chooser = new JFileChooser();// On ouvre une boite de sélection de fichiers
          	                       chooser.setApproveButtonText("Uploader");
    				               chooser.setDialogTitle("Uploader"); //On change les noms de la boite de sélection
    				               chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);//On permet de choisir des  fichiers seulement
     
     
    				try
    				{
     
    				if(chooser.showOpenDialog(chooser) == JFileChooser.APPROVE_OPTION) {//Si on a appuyé sur le bouton ok pour choisir le fichier
     
     
     
     
     
    								try {
     
    								File dir = new File(chooser.getSelectedFile().getAbsolutePath());//On crée un fichier à partir du chemin sélectionné dans le JFile Chooser
     
    							    boolean isDir = dir.isDirectory(); //On vérifie si ce fichier est un dossier (en l'occurence il ne l'est pas mais c'est pour une utilisation future de cet applet
    							    if (isDir)//Si c'est un dossier on l'upload
    							    { 
    									//ftp.uploadDirectory(chooser.getSelectedFile().getAbsolutePath());// On upload le dossier
     
     
     
    							    } 
    							    else // si le fichier sélectionné est un fichier, on l'upload
    							    {
    							    	FileInputStream in = new FileInputStream(chooser.getSelectedFile().getAbsolutePath());// On initialise les flux de données
    							    	/*fttp.stor(chooser.getSelectedFile().getAbsolutePath(),in, chooser.getSelectedFile().getName());
     
    							    	*/uploadTaskbis tb= new uploadTaskbis(chooser.getSelectedFile().getAbsolutePath(),in, chooser.getSelectedFile().getName());
     
    							    	 /*ftp.uploadFile(chooser.getSelectedFile().getAbsolutePath(), chooser.getSelectedFile().getName());
    							       */
     
    							    }
     
     
    							} catch (Exception ftpe) {
    								JOptionPane poij = new JOptionPane();
    								poij.showMessageDialog(null,ftpe.getMessage(), "Connexion interrompue", JOptionPane.ERROR_MESSAGE);// En cas de problème à la connexion, on affiche pourquoi
     
    							} finally {
     
     
    							}
     
     
     
    				 }
    				}
    				catch(java.lang.IndexOutOfBoundsException p)
    				{
    				}
    				catch(java.lang.NullPointerException p)
    				{
     
    				}
     
    			    }
    		     });
     
     
     
    	}
     
    	// Setters et Getters des variables serveurs principales
    	public static String getSERVEUR() {
    		return SERVEUR;
    	}
    	public static void setSERVEUR(String serveur) {
    		SERVEUR = serveur;
    	}
    	public static String getUSER() {
    		return USER;
    	}
    	public static void setUSER(String user) {
    		USER = user;
    	}
    	public static String getPASSWORD() {
    		return PASSWORD;
    	}
    	public static void setPASSWORD(String password) {
    		PASSWORD = password;
    	}
     
    }
    uploadTaskbis.java
    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    330
    331
    332
    333
    334
    335
    336
    337
    338
    339
    340
    341
    342
    343
    344
    345
    346
    347
    348
    349
    350
    351
    352
    353
    354
    355
    356
    357
    358
    359
    360
    361
    362
    363
    364
    365
    366
    367
    368
    369
    370
    371
    372
    373
    374
    375
    376
    377
    378
    379
    380
    381
    382
    383
    384
    385
    386
    387
    388
    389
    390
    391
    392
    393
    394
    395
    396
    397
    398
    399
    400
    401
    402
    403
    404
    405
    406
    407
    408
    409
    410
    411
    412
    413
    414
    415
    416
    417
    418
    419
    420
    421
    422
    423
    424
    425
    426
    427
    428
    429
    430
    431
    432
    433
    434
    435
    436
    437
    438
    439
    440
    441
    442
    443
    444
    445
    446
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    
    import org.apache.commons.net.ftp.FTPConnectionClosedException;
    import org.apache.commons.net.ftp.FTPReply;
    
    import java.beans.*;
    import java.io.BufferedInputStream;
    import java.io.BufferedOutputStream;
    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.net.Socket;
    import java.util.Random;
    import java.util.StringTokenizer;
    
    import org.apache.commons.net.ftp.*;
    
    public class uploadTaskbis {
             
    	
    
    	    private JUploadProgress JU;// Fenetre qui apparaît pendant l'upload
    	    private SimpleFTP fttp;
    	    
    	    private String fileserver; // Nom qu'aura le fichier sur le serveur
    	    private String filelocal; //Nom du fichier à télécharger
    		private  int BUFFER_SIZE = 16384; // Taille des données télécharhées entre chaque mise à jour de la progress bar
    
    		private BufferedOutputStream output;
    		private BufferedInputStream input;
    		private InputStream inputStream;
    		private String filename;
    	    private File f;
    		
    	    public Socket socket = null;
    
    	    private BufferedReader reader = null;
    
    	    private BufferedWriter writer = null;
    
    	    private static boolean DEBUG = false;
    
    	    
    		private int counter; // Variable qui calcule l'évolution en permanence
    	    private long timeElapse;
    	    private double dureeboucle; //longueur de la boucle d'upload
    	    private long timef;//Temps universel à la fin de la boucle
    	    private long timed;//Temps universel en fin de boucle
    	    private int taille;
    	    private String tempsecoule;
    	    private int size;
    	    private int[] tableauDebit = {0,0,0,0,0,0,0,0};
    	    private double[] tableauDuree={0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,};
    	    private int debitMoyen;
    	    private double dureeMoyen;
    	    private int indiceDebit = 0;
    	    private byte[] buffer = new byte[BUFFER_SIZE]; // On initialise la valeur de la taille des paquets uploadés(pourcentage téléchargé à chaque fois)
    	    private boolean uploadOk=true;
    	
    	    class Task extends SwingWorker<Void, Void> {
            /*
             * Main task. Executed in background thread.
             */
            @Override
            public Void doInBackground() { // Cette tache se connecte au serveur et éffectue l'upload de fichiers
                
                try
                {
                	try
                	{
                	     fttp=new SimpleFTP();
                		 fttp.connect(TestApplet.getSERVEUR(),21,TestApplet.getUSER(),TestApplet.getPASSWORD());
              	  	     fttp.bin();
                	     fttp.cwd("administrateur");
                	     fttp.cwd("uploads");
                	     //C'est ici que ça ne marche pas
                	}
                	catch(Exception e)
                    {
                		JOptionPane fingconnection = new JOptionPane();
           			    fingconnection.showMessageDialog(null,"La connection a échoué", "Connexion impossible", JOptionPane.ERROR_MESSAGE);// En cas de problème à la connexion, on affiche pourquoi 
                	}
               	          f = new File(filelocal);//on récupère la taille du fichier
              		      size = (int)f.length();
                            
              		      
              		     
              		    SwingUtilities.invokeLater(new Runnable()  //AFFICHER UNE NOTIFICATION D'ECHEC DANS l'EDT
             	        {
      		    	    	  public void run() 
             	              {
      		    	    		  
      		    	    		JU.addWindowListener(WL);//Permet de détecter si la fenêtre est fermée et arrêter ainsi le téléchargement en passant à false la variable uploadOk   	    	    
              		            JU.setProgressMax(size);// on prépare la JProgressBar
                                JU.setVisible(true);
                                JU.setSizeUploaded("Télachargé : 0kB of "+ size /1000 +" kB");
                      		    JU.setTimeRemaining("Temps restant : 00:00:00 (à 0 Octets/s)");
                      		    JU.setTimeElapsed("Temps écoulé : 00:00:00"); 
                      		    JU.setInfoUpload("Upload de "+f.getName() + " (1 of 1)");
                      		    
             	              }
             	        });
              		    
              		    BufferedInputStream input = new BufferedInputStream(inputStream);
              		     fttp.sendLine("PASV");
              		    String response = fttp.readLine();
              		   if (!response.startsWith("227 ")) {
              		      throw new IOException("SimpleFTP could not request passive mode: "
              		          + response);
              		    }
    
              		    String ip = null;
              		    int port = -1;
              		    int opening = response.indexOf('(');
              		    int closing = response.indexOf(')', opening + 1);
              		    if (closing > 0) {
              		      String dataLink = response.substring(opening + 1, closing);
              		      StringTokenizer tokenizer = new StringTokenizer(dataLink, ",");
              		      
              		      try {
              		        ip = tokenizer.nextToken() + "." + tokenizer.nextToken() + "."
              		            + tokenizer.nextToken() + "." + tokenizer.nextToken();
              		        port = Integer.parseInt(tokenizer.nextToken()) * 256
              		            + Integer.parseInt(tokenizer.nextToken());
              		      } catch (Exception e) {
              		        throw new IOException("SimpleFTP received bad data link information: "
              		            + response);
              		      }
              		    }
    
              		  fttp.sendLine("STOR " + filename);
    
              		    Socket dataSocket = new Socket(ip, port);
              		 
              		    response = fttp.readLine();
              		   if (!response.startsWith ("150 ")) {
              		    //if (!response.startsWith("150 ")) {
              		      throw new IOException("SimpleFTP was not allowed to send the file: "
              		          + response);
              		    }
    
              		    BufferedOutputStream output = new BufferedOutputStream(dataSocket
              		        .getOutputStream());
              		    byte[] buffer = new byte[BUFFER_SIZE];
              		    int bytesRead = 0;
              		    counter = 0;//Initialisation des variables d'évolution d'upload
            		        timeElapse = 0;
            		       
              		    while (uploadOk) 
              		    {
           	    	      timed=System.currentTimeMillis();// on récupère la durée au début de la boucle
                		     
      		    	        bytesRead = input.read(buffer);
      	           
      		               if (bytesRead < 0) // Si il n'y a plus de données dans le flux de donnée  on sort de la boucle
      		               break;
      		             
      		               counter += bytesRead;
      		        
      		           
      		               output.write(buffer, 0, bytesRead);//upload par buffering
      		           
    
      		             timef=System.currentTimeMillis();//  on récupère la durée à la fin de la boucle et on fait la différence pour connaître le remps écoulé
      		        
      		        
      		       
      		        taille=bytesRead;
      		        dureeboucle=(double)((System.currentTimeMillis()-timed));
      		         
      		        SwingUtilities.invokeLater(new Runnable()//MIS A JOUR DE LA PROGRESS BAR DANS l'EDT
      		     {
      	          public void run()
      	          {
      	        	
      	        	tableauDuree[indiceDebit]=(double)dureeboucle/1000;
      	        	dureeMoyen = (tableauDuree[0]+tableauDuree[1]+tableauDuree[2]+tableauDuree[3]+tableauDuree[4]+tableauDuree[5]+tableauDuree[6]+tableauDuree[7])/8;
      	        	
      	        	tableauDebit[indiceDebit]= (int)((double)taille/(dureeMoyen)/1024);
      	        	
      	        	indiceDebit++;
      	        	debitMoyen=(tableauDebit[0]+tableauDebit[1]+tableauDebit[2]+tableauDebit[3]+tableauDebit[4]+tableauDebit[5]+tableauDebit[6]+tableauDebit[7])/8;
      	        	
      	        	JU.setProgressValue(counter);   
      	            JU.setSizeUploaded("Télachargé : "+ counter/1000 +"kB of "+ size /1000 +"kB");
          		    if(indiceDebit==8)
      	            {	 JU.setTimeRemaining("Temps restant : "+conversionmSHMS((int)((double)(size-counter)/(double)debitMoyen))+ " (à "+debitMoyen+"kB/s)");
      	            
      	            	indiceDebit=0;
      	            }
      	          }
      	          });       
      		             
      		     
      		     timeElapse += (timef-timed);
      		     timef=System.currentTimeMillis();  
      	           
      	           SwingUtilities.invokeLater(new Runnable() //METTRE A JOUR LE TEMPS ECOULE DANS l'EDT
              	   {
      	        	   public void run() 
      	        	   {
              	        	  tempsecoule=conversionmSHMScS(timeElapse);
              	        	  JU.setTimeElapsed("Temps écoulé : "+ tempsecoule); 
              	        	  JU.setTimeRemaining("Temps restant : "+conversionmSHMS((int)((double)(size-counter)/(double)debitMoyen))+ " (à "+debitMoyen+"kB/s)");
               	            
      	        	   }
              	    });
              		      
              		    }
              		    output.flush();//on attend que le buffer soit vidé pour être sur d'avoir transféré toutes les données
              		    output.close();//On ferme les Buffered stream pour éviter d'écrire des choses par inadvertance dans les fichiers.
              		    input.close();
              		     fttp.disconnect();
              		    response = fttp.readLine();
              		    
    
              		    if(uploadOk==true)
         		       {
         		       SwingUtilities.invokeLater(new Runnable()  //AFFICHER UNE NOTIFICATION DE FIN DE TELECHARGEMENT DANS l'EDT
            	       { public void run() 
            	       {
            	    	   JU.setVisible(false);
         		           JOptionPane finconnection = new JOptionPane();
         			       finconnection.showMessageDialog(null,"Fin du téléchargement effectué\nFichier : "+f.getName()+"\nTéléchargé : "+size/1000+"kB\nDurée : "+tempsecoule+"(Min:Sec:cS)", "Upload terminé", JOptionPane.INFORMATION_MESSAGE);// En cas de problème à la connexion, on affiche pourquoi
            	         
            	       }
         		       });
         		       }
         		       else
         		       {
         		    	   try {
         					TestApplet.fttp.DELE(filename);
         				} catch (IOException e) {
         					// TODO Auto-generated catch block
         					e.printStackTrace();
         				}
         		    	   
         		    	   JOptionPane finconnection = new JOptionPane();
         			       finconnection.showMessageDialog(null,"Téléchargement annulé\n\n Le fichier a été supprimé du serveur", "Annulation", JOptionPane.INFORMATION_MESSAGE);// En cas de problème à la connexion, on affiche pourquoi 
         		           
         			       uploadOk=true;
         		       }
    
                }
               
                catch (FTPConnectionClosedException g)
                {
                	JU.dispose();
                	JOptionPane finconnection = new JOptionPane();
      			    finconnection.showMessageDialog(null,"La connexion a été fermée. Réessayez ultérieurement", "Connexion terminée", JOptionPane.ERROR_MESSAGE);// En cas de problème à la connexion, on affiche pourquoi 
      		           
                }
                catch(java.net.SocketException m)
                {
                	JU.dispose();
                	JOptionPane finconnection = new JOptionPane();
      			    finconnection.showMessageDialog(null,"La connexion a été fermée. Réessayez ultérieurement", "Connexion terminée", JOptionPane.ERROR_MESSAGE);// En cas de problème à la connexion, on affiche pourquoi 
      		        
                }
                catch(java.net.UnknownHostException m)
                {
                	JU.dispose();
                	JOptionPane finconnection = new JOptionPane();
      			    finconnection.showMessageDialog(null,"Impossible de se connecter au serveur", "Connexion impossible", JOptionPane.ERROR_MESSAGE);// En cas de problème à la connexion, on affiche pourquoi 
      		        
                }
                catch(IOException  e)
                {
                	e.printStackTrace();
                }
               
                finally
                {
                	
                	try {
                		output.flush();
          		    output.close();
          		    input.close();
          		  fttp.disconnect();
      				} catch (IOException e) {
      					// TODO Auto-generated catch block
      					e.printStackTrace();
      					
      				}
      				
                }
                  
            
              return null;
             
      
            }
    
            /*
             * Executed in event dispatching thread
             */
            @Override
            public void done() {
                Toolkit.getDefaultToolkit().beep();
                
            }
        }
       
    /*****************************************************************/
    /******************************CONSTRUCTEUR***********************/
    /*****************************************************************/
        
        
        public uploadTaskbis(String localFile,InputStream in, String serverFile) {
           JU = new JUploadProgress();
           JU.setVisible(true);
           filename=serverFile;
           filelocal=localFile;
           inputStream=in;
           Task task=new Task();
           task.execute();
        }
    
    
        /*********************************************************************/
        /*******************  METHODES DE LA CLASSE **************************/
        /*********************************************************************/
        
        
        private String conversionmSHMScS(long ms) //Convertir les mS en M:S:cS ou H:M:S si trop important
        {
        	String time="00:00:00";
       	 
       	  if (ms<1000)
       		time="00:00:"+afficherCs(ms);
       	  
       	  if (ms<60000 && ms>=100)
       		  time="00:"+afficherS(ms/1000)+":"+afficherCs(ms%1000);
       	  
       	  if (ms>=60000 && ms<3600000)
       		time=""+afficherM(ms/60000)+":"+afficherS((ms%60000)/1000)+":"+afficherCs((ms%60000)%1000);
          
       	  if (ms>=3600000)
       		time="0"+ms/3600000+":"+afficherM((ms%3600000)/60000)+":"+afficherS((ms%3600000)%60000/1000);
           
       	  
       	  return time;
        }
        //**************************************************************//
        private String conversionmSHMS(long ms) //Convertir les mS en H:M:S
        {
        	String time="00:00:00";
       	 
       	  	time="0"+ms/3600000+":"+afficherM((ms%3600000)/60000)+":"+afficherS((ms%3600000)%60000/1000);
           
       	  return time;
        }
        
        //**************************************************************//
        // Les trois méthodes qui suivent servent à afficher le temps de téléchargement en cours de façon esthétique
        
        //Affichage des centiSecondes
        private String afficherCs(long ms)// Renvoie un String qui vaut 01 à 99 cS
        {
        	String result;
        	if((ms)<100)
     			  result="0"+ms/10;
     		  else
     			result=""+ms/10;
        	return result;
        }
        
        
        //**************************************************************//
       //Affichage des Secondes
        private String afficherS(long s)// Renvoie un String qui vaut 01 à 59 S
        {
        	String result;
        	if((s)<10)
     			  result="0"+s;
     		  else
     			result=""+s;
        	return result;
        }
        
        //**************************************************************//
       //Affichage des Minutes
        private String afficherM(long m)// Renvoie un String qui vaut 01 à 59 M à partir d'un nombre de minutes compris entre 0 et 59 (gère l'affichage du zéro)
        {
        	String result;
        	if((m)<10)
     			  result="0"+m;
     		  else
     			result=""+m;
        	return result;
        }
        /*********************************************************************/
        /************************   ACCESSEURS *******************************/
        /*********************************************************************/
        
        public int getBUFFER_SIZE() {
    		return BUFFER_SIZE;
    	}
        
        /*********************************************************************/
        /************************  MUTATEURS  *******************************/
        /*********************************************************************/
        
        
        public void setBUFFER_SIZE(int buffer_size) {
    		BUFFER_SIZE = buffer_size;
    	}
        
        /*********************************************************************/
        /************************  Window Listener  *******************************/
        /*********************************************************************/
        
        WindowListener WL =new WindowListener() {
            public void windowClosed(WindowEvent arg0) {
            		uploadOk=false;
    	            JU.dispose();
    	            
    	            
            }
            public void windowActivated(WindowEvent arg0) {
    
            }
            public void windowClosing(WindowEvent arg0) {
               
            }
            public void windowDeactivated(WindowEvent arg0) {
               
            }
            public void windowDeiconified(WindowEvent arg0) {
                
            }
            public void windowIconified(WindowEvent arg0) {
               
            }
            public void windowOpened(WindowEvent arg0) {
                
            }
        };
    }
    SimpleFTP.java class ftp de connection


    JUploadProgress.java affiche juste la barre de progression

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Résolu
    Je m'excuse du dérangement mais je n'avais pas mis le fichier java.policy.apllet dans mon jar.

  3. #3
    Membre régulier
    Homme Profil pro
    Ingénieur de projets
    Inscrit en
    Mai 2007
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur de projets
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2007
    Messages : 103
    Points : 97
    Points
    97
    Par défaut
    Bonjour,

    Actuellement, je programme un applet pour me connecté à un serveur afin de récupérer un fichier.

    Le but est de lire ce fichier pour récupérer des données en bytes (chose que je sais faire).


    Cependant, lorsque l'on teste sur un navigateur WEB, j'ai le souci de permission.


    Déja, je ne comprend pas comment signer un applet malgré le tres bon tuto proposé ici. Pourquoi? tout simplement parce que je ne trouve pas sous NetBeans l'endroit ou écrire les lignes de code un vrai newbie!


    Je vois dans ton post que tu parles du fichier applet.policy , comme quoi tu ne l'avais pas mis dans le bon dossier.

    Où est ce que tu l'as ajouté dans ton .jar?
    Je l'ai mis dans la racine du jar, mais ca ne foncitonne pas.


    De plus, est ce que tu sais si sous Netbeans, on peut faire des auto-signatures (pour signer des applet pour usage privé).



    Cordialement,

    MustOne

  4. #4
    Membre régulier
    Homme Profil pro
    Ingénieur de projets
    Inscrit en
    Mai 2007
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur de projets
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2007
    Messages : 103
    Points : 97
    Points
    97
    Par défaut Mon cas est résolu
    Bonjour,

    quelques petites nouvelles concernant mon cas.

    J'ai réussi à signer mon applet en utilisant NetBeans.

    en fait, dans les préférences du projet en cours, j'ai coché la checkbox "self-signed" dans "application->webstart".


    Bon cela fonctionne pour mes besoins et est largement suffisant pour l'utilisation que j'en fais. Cependant, je ne pense pas que cela soit "correct" pour une utilisation à grande échelle.

    voila.

  5. #5
    Membre régulier
    Inscrit en
    Mars 2009
    Messages
    167
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 167
    Points : 76
    Points
    76
    Par défaut
    Salut,
    pour signer ton applet, tu met ton fichier.jar dans path/java/jdk/bin
    puis sous MS-DOS , tu tapes (sous la direction path/java/jdk/bin)
    la commande: jarsigner ton fichier.jar tonClé
    ce cas lorsque tu as généré ton clé , si pas le cas tu dois générer ton clé puis tu tapes la commande précédente, si tu ne connais pas comment générer une clé , tu cherches "KeyStore"
    bon courage

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

Discussions similaires

  1. [CR XI] Image visible dans Editeur mais pas sur l'appel de la page web distante !
    Par rohstev dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 19/03/2010, 09h55
  2. Réponses: 1
    Dernier message: 15/04/2008, 14h03
  3. Réponses: 1
    Dernier message: 28/03/2007, 19h20
  4. Eval qui fonctionne sur Firefox mais pas sur IE :D
    Par Comawhite dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 30/10/2006, 11h31
  5. Programme fonctionnant sur Eclipse mais pas avec le jar?
    Par kirik dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 10/02/2004, 13h43

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