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

Servlets/JSP Java Discussion :

[COM APPLET-SERVLET] url connexion


Sujet :

Servlets/JSP Java

  1. #1
    Membre éclairé 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
    Par défaut [COM APPLET-SERVLET] url connexion
    Bonjour,

    J'ai mis en place une communication entre mon applet et ma servlet
    Voila le truc, j'essaie de me connecter a la servlet a une certaine URL
    Il ne génère aucune erreur mais il ne rentre pas dans la servlet (il n'arrive pas aux points d'arret mis dans la servlet)
    J'affiche donc l'url de connexion, je la recopie (de la console java)
    et je l'ouvre sans probleme avec le navigateur

    Je ne vois pas ou est le probleme ?

  2. #2
    Membre expérimenté Avatar de wace
    Inscrit en
    Septembre 2003
    Messages
    224
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 224
    Par défaut
    tu peux balancer le code de ton applet et de ta servlet ... et de ton web.xml ?

    parce que la y a pas moyen de savoir ... et j'ai un peu trop d'idées pour te dire d'ou est ce que ca peux venir

  3. #3
    Membre éclairé 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
    Par défaut
    APPLET : fonction qui est censée faire l'upload (il rentre bien dedans)

    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
    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 servletURL = new URL( racine + "/OGDE/aliasUploadServlet?fileName=test"); 
    		 System.out.println("Url de connexion à la servlet pour UPLOAD: "+servletURL.toString());
    		 HttpURLConnection servletConnection = (HttpURLConnection) servletURL.openConnection();
    		 servletConnection.setRequestMethod("POST");
    		 servletConnection.setDoInput(false);
    		 servletConnection.setDoOutput(true);
    		 servletConnection.setUseCaches(false);
    		 servletConnection.setDefaultUseCaches(false);
    		 servletConnection.setRequestProperty("Content-Type","application/octet-stream");
     
    		 //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);
    		 }
    		 dos.flush();
    		 dos.close();
    		 fis.close();
    		 out.close();
    	   } catch (IOException e) {
    		 e.printStackTrace();
    	   }	
    	 }
    le dopost de ma 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
      public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
    	String path = "C:/project/OGDE/struts/webroot/data";
     
    	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();
    	//...receive the modified (or not) file and save it 
      }
     
    }

    le web.xml
    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
     
     
        <servlet>
    		<servlet-name>15</servlet-name>
    		<servlet-class>servlet.DownloadServlet</servlet-class>
    	</servlet>
    	    <servlet>
    		<servlet-name>16</servlet-name>
    		<servlet-class>servlet.UploadServlet</servlet-class>
    	</servlet>
       <servlet-mapping>
    		<servlet-name>15</servlet-name>
    		<url-pattern>/aliasDownloadServlet</url-pattern>
       </servlet-mapping>	
     
       <servlet-mapping>
    		<servlet-name>16</servlet-name>
    		<url-pattern>/aliasUploadServlet</url-pattern>
       </servlet-mapping>

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    509
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 509
    Par défaut
    Je sais pas trop si ca va marcher mais essaye toujours de mettre dans le code de ton applet un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    servletConnection.getResponseCode();
    mets ca par exemple juste avant le dos.flush() !!
    Ca mange pas de pain et ca te donneras le code d'erreur du style 404 ou autres !!

    Autre chose tu essaye de lire un fichier chez le client a partir de l'applet il faut donc qu'elle soit signé peut etre que ca joue !!!

  5. #5
    Membre éclairé 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
    Par défaut
    oui, elle est signée ...

    j'essaie ce que tu me dis tout de suite

  6. #6
    Membre éclairé 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
    Par défaut
    C'est magique ton truc ..

    j'ai rajouté la ligne et il m'a indiqué un message d'erreur
    m'inidquant de mettre a true la ligne suivante :

    servletConnection.setDoInput(false);

    je l'ai fait, et hop, ca marche !!

    MERCI BEAUCOUP!!!

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

Discussions similaires

  1. Applet, Servlet et Connexion BDD singleton
    Par Predator79 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 10/06/2008, 16h13
  2. [com applet-servlet][file upload] CharConversionException
    Par meufeu dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 10/08/2004, 12h03
  3. [ Servlet ] URL de la page HTML appelante
    Par lbourlet dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 30/06/2004, 12h26
  4. [Applet][Servlet]
    Par meusha25 dans le forum Applets
    Réponses: 3
    Dernier message: 11/05/2004, 11h53
  5. [Applet - Servlet] Communication : quoi choisir ?
    Par gandalf_le_blanc dans le forum Applets
    Réponses: 14
    Dernier message: 28/04/2004, 15h43

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