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 :

communication entre applet et servlet


Sujet :

Servlets/JSP Java

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 27
    Points : 22
    Points
    22
    Par défaut communication entre applet et servlet
    Bonjour,
    je tourne en rond depuis ce matin à faire pleins de tests, et rien de ce que je voudrais faire ne marche.

    J'ai une applet qui permet de signer des fichiers. Une fois la signature réalisée, je dois la transmettre à une servlet, qui s'occupe de vérifier que la signature est correcte, et si c'est le cas, d'enregistrer le fichier.
    Tout ceci fonctionne bien.

    Ce que je voudrais maintenant, c'est gérer le cas où le fichier existe déjà sur le serveur. Je voudrais donc proposer à l'utilisateur de renommer son fichier avant de l'enregistrer. Ce que je pensais faire, c'était un
    JOptionPane.showInputMessage(...);
    Il faut donc que je récupère le texte saisi par l'utilisateur et que je le renvoie à la servlet afin qu'elle puisse enregistrer le fichier avec le bon nom.

    Dans la méthode doPost de ma servlet, j'ai un flux qui récupère déjà un objet qui contient le fichier et sa signature.

    Comment faire pour récupérer le nom de fichier qu'aura saisi l'utilisateur ?
    Je pensais créer un deuxième flux dans lequel j'écrirai le nom de fichier, mais je ne m'en sors pas. J'ai pas mal d'exceptions.

    Faut-il obligatoirement refermer un flux avant de lire dans un autre flux, ou bien peut-on ouvrir plusieurs flux, lire et écrire dedans, puis tous les fermer à la fin de la méthode ?

    Il y a également quelque chose que je ne m'explique absolument pas. Lorsque je clique sur les exceptions signalées, je suis automatiquement amenée dans un fichier qui porte le même nom que la servlet que je veux exécuter, mais qui n'est pas dans le même répertoire.
    J'ai cru un moment que je lançais la mauvaise servlet, et j'ai pu vérifier que je lançais la bonne grâce à des println. De plus, si par exemple l'exception provient de la ligne 300, cette ligne n'existe pas dans le fichier où me redirige Eclipse ...

    Je n'ai pas avancé de la journée à cause de tout ça, si quelqu'un pouvait m'aider ...

    Merci.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 62
    Points : 162
    Points
    162
    Par défaut
    Bonjour !

    J'ai un peu de mal à voir l'enchaînement des actions de l'applet. De ce que j'ai compris, tu as quelque chose comme ça :

    - l'utilisateur renseigne le fichier et la signature
    - appel HTTP à la Servlet
    - en cas d'erreur pour cause de fichier déjà existant
    - l'utilisateur saisit un nouveau nom

    Et tu veux refaire un appel avec le nouveau nom. Ma première idée (naturelle) serait d'inclure une nouvelle variable POST contenant le nouveau nom. Ainsi, si la servlet trouve un tel paramètre, elle renomme le fichier créé.

    Sinon, pour ton problème d'Eclipse, Eclipse ne doit pas connaître les sources des JSP. As-tu renseigner le projet dans les préférences du plugin Tomcat ?

  3. #3
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 27
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par fabien29200 Voir le message

    J'ai un peu de mal à voir l'enchaînement des actions de l'applet. De ce que j'ai compris, tu as quelque chose comme ça :

    - l'utilisateur renseigne le fichier et la signature
    - appel HTTP à la Servlet
    - en cas d'erreur pour cause de fichier déjà existant
    - l'utilisateur saisit un nouveau nom

    Oui c'est à peu près ça.

    Citation Envoyé par fabien29200 Voir le message
    Ma première idée (naturelle) serait d'inclure une nouvelle variable POST contenant le nouveau nom. Ainsi, si la servlet trouve un tel paramètre, elle renomme le fichier créé.
    Mon problème c'était surtout que je ne savais pas comment transmettre à la servlet le nouveau nom saisi par l'utilisateur. Je n'avais pas vraiment compris comment la communication entre l'applet et la servlet fonctionnait.

    Ce que j'ai fait, c'est que si l'utilisateur saisit un nouveau nom, je créé une nouvelle connexion à la servlet avec envoie du nouveau nom.

    Comme ma servlet attendait un objet Transfert, j'étais un peu perdue et ne savais pas ce qu'il allait se passer si la servlet recevait un String alors qu'elle attendait un objet Transfert. En fait, je ne savais pas qu'on avait la possibilité de connaitre de quel type était l'objet qu'on lisait. Quelqu'un m'a dit de faire
    if(in.readObject().getClass().equals(Transfert.class)) et if(in.readObject().getClass().equals(String.class)) pour effectuer des traitements différents en fonction de l'objet se trouvant dans le ObjectInputStream.


    Sinon, pour ton problème d'Eclipse, Eclipse ne doit pas connaître les sources des JSP. As-tu renseigner le projet dans les préférences du plugin Tomcat ?
    En ce qui concerne ce problème, il a été réglé. En fait j'avais 5 projets qui contenaient tous la servlet. Et quand j'ai effacé le projet qui avait la servlet vers laquelle j'étais redirigée en cas d'erreur, j'ai été redirigée vers les servlets des autres projets un par un au fur et à mesure que je les effaçait. En effet, il y avait un problème dans le web.xml de l'un des projets ...

    Tout est résolu. Je te remercie quand même de ta réponse!

    Une bonne journée à toi.

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

Discussions similaires

  1. Communication entre applet et servlet
    Par jeromeSERRE dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 17/04/2010, 12h11
  2. Communication entre applet
    Par DreammyKetty dans le forum Applets
    Réponses: 2
    Dernier message: 02/04/2008, 13h55
  3. Réponses: 14
    Dernier message: 22/07/2007, 18h02
  4. [Données]Passer des données entre applet et Servlet
    Par CheryBen dans le forum Applets
    Réponses: 11
    Dernier message: 16/09/2005, 13h48
  5. Réponses: 4
    Dernier message: 02/01/2005, 23h24

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