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 :

créer et ouvrir une image à partir d'une servlet


Sujet :

Servlets/JSP Java

  1. #1
    Membre éclairé
    Avatar de natoine
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Décembre 2007
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 393
    Par défaut créer et ouvrir une image à partir d'une servlet
    Bonjour,

    Je dois créer une servlet qui à partir de données crée une image jpg.
    J'ai déjà un jar qui me permet de gérer toute la création de l'image.
    La question porte plutôt sur la suite:

    Je veux que cette image soit affichée dans une page jsp appellée par la servlet et donc que l'image s'affiche dans le navigateur web préféré de l'utilisateur qui a invoqué la servlet.

    Comment est-ce que je peux faire?

    Merci pour votre aide
    www.natoine.fr
    natoine.developpez.com
    Principalement du Java avec un soupçon de réseaux sociaux.

  2. #2
    Membre émérite
    Avatar de kmdkaci
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 560
    Par défaut créer et ouvrir une image à partir d'une servlet
    Bonjour,
    Pour l'intégrer dans ta page JSP, il suffit de faire comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img SRC="/images/"+nomImage>
    avec :
    images = répertoire où tu stocke tes images.
    nomImage = Nom de l'image générée.

  3. #3
    Membre éclairé
    Avatar de natoine
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Décembre 2007
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 393
    Par défaut
    Hum je me doutais que ça ressemblait à ça.

    En fait depuis ce post, j'ai fait :

    Du côté servlet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    File _img_file_1 = new File(_user + "1" + ".png");
    ImageIO.write(_img_1, "png", _img_file_1);
    req.setAttribute("img_1_path", _img_file_1.getAbsolutePath());
    Du côté JSP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     <%
    String _img_1_path = (String)request.getAttribute("img_1_path");
    %>
    <img src="<%=_img_1_path %>" >
    Mais ça ne marche pas.

    Il m'affiche le path suivant dans le html source : /var/lib/tomcat5.5/temp/user1.png
    L'image correspondante existe bien mais mon navigateur ne la charge aps.

    www.natoine.fr
    natoine.developpez.com
    Principalement du Java avec un soupçon de réseaux sociaux.

  4. #4
    Membre émérite
    Avatar de kmdkaci
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 560
    Par défaut créer et ouvrir une image à partir d'une servlet
    Salut,
    Si tu cliques avec bouton droit sur le cadre dédié à l'image et tu vois l'URL qui corresponde. Testes aussi sous différents navigateurs.

  5. #5
    Membre éclairé
    Avatar de natoine
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Décembre 2007
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 393
    Par défaut
    Ce n'est pas un pb de navigateur.

    Apparement c'est soit un pb de droit soit qu'il reste en relatif et donc qu'il cherche un dossier /var/lib... dans le dossier de ma servlet.

    Je pense que la solution serait de créer mon fichier dans un dossier images de ma servlet.
    Mais comment faire?
    Depuis tout à l'heure je teste :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    new File("images/" + nom_fichier);
    new File("./images/" + nom_fichier);
    new File("../images/" + nom_fichier);
    Je ne trouve pas la bonne solution...
    www.natoine.fr
    natoine.developpez.com
    Principalement du Java avec un soupçon de réseaux sociaux.

  6. #6
    Membre émérite
    Avatar de kmdkaci
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 560
    Par défaut créer et ouvrir une image à partir d'une servlet
    Effectivement, le mieux est de tout rassembler dans le dossier Projet. Il me semble que la syntaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new File("images/" + nom_fichier);
    est correct, toute fois, il faut que le dossier image soit crée.

    Important : Attention à la casse. Sous java les variables sont sensible à la casse, regarde aussi les extensions, saches que .PNG # .png

  7. #7
    Membre éclairé
    Avatar de natoine
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Décembre 2007
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 393
    Par défaut
    J'ai une erreur avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new File("images/"+nom_fichier)
    Voilà l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    java.lang.NullPointerException
    	javax.imageio.ImageIO.write(ImageIO.java:1528)
    L'image n'est effectivement pas créée dans ce cas.
    Normal donc qu'il ne veuille pas écrire dans le fichier...

    C'est pas un pb de droit ça?
    www.natoine.fr
    natoine.developpez.com
    Principalement du Java avec un soupçon de réseaux sociaux.

  8. #8
    Membre éclairé
    Avatar de natoine
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Décembre 2007
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 393
    Par défaut
    bah j'ai fait un chmod 777 sur le dossier images, ça ne marche pas mieux...
    www.natoine.fr
    natoine.developpez.com
    Principalement du Java avec un soupçon de réseaux sociaux.

  9. #9
    Membre émérite
    Avatar de kmdkaci
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 560
    Par défaut créer et ouvrir une image à partir d'une servlet
    Salut,
    Si tu arrives à le créer dans un autre endroit, ça pourra être un problème de droit. Mais attention le fait que t'as mis chmod 777 pour le répertoire image, est ce que le répertoire supérieur est aussi ainsi. C'est une méthode pour tester, mais faut penser à réécrire les droit convenablement après.

  10. #10
    Membre éclairé
    Avatar de natoine
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Décembre 2007
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 393
    Par défaut
    J'ai tenté de donner tous les droits sur images et sur son répertoire parent.
    Ca ne marche pas mieux.

    Je sais pas quoi faire....

    Je n'arrive à créer un fichier que en faisant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new File(nom_fichier) ;
    Et là il est créé dans /var/lib/tomcat/temp
    www.natoine.fr
    natoine.developpez.com
    Principalement du Java avec un soupçon de réseaux sociaux.

  11. #11
    Membre éclairé
    Avatar de natoine
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Décembre 2007
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 393
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new File("images/"+nom_fichier);
    Marche que si je crée le dossier dans mon code.
    Par contre pour créer ce dossier il faut faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    File dossier = new File("images");
    dossier.mkdirs();
    Et du coup, il est créé dans /var/lib/tomcat/temp

    Donc je m'en sors pas plus....
    www.natoine.fr
    natoine.developpez.com
    Principalement du Java avec un soupçon de réseaux sociaux.

  12. #12
    Membre émérite
    Avatar de kmdkaci
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 560
    Par défaut créer et ouvrir une image à partir d'une servlet
    Normalement le dossier tu le crée quand tu crée ton projet. Dans le dossier WebContent tu crée ton dossier image, et le dossier sera déployé automatiquement. A moins que tu veux créer des dossiers dynamiques pour chaque image.

  13. #13
    Membre éclairé
    Avatar de natoine
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Décembre 2007
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 393
    Par défaut
    C'est bon j'ai trouvé.
    Enfin c'est un collégue qui m'a aidé.

    C'était bien un pb de droits.
    Il fallait que je donne le droit d'exécution sur tous le dossier /var/lib/tomcat5.5

    sudo chmod -R ug+x /var/lib/tomcat5.5/

    Et là, quand je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new File("/var/lib/tomcat5.5/webapps/MA_servlet/images"+nom_fichier);
    J'obtiens bien un fichier que je peux ouvrir dans les jsp de ma servlet en faisant
    /images/nom_fichier


    www.natoine.fr
    natoine.developpez.com
    Principalement du Java avec un soupçon de réseaux sociaux.

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

Discussions similaires

  1. Saisir une image à partir d'une photo ou d'une vidéo
    Par lohengrin56 dans le forum Flash/Flex
    Réponses: 0
    Dernier message: 07/07/2009, 16h17
  2. Réponses: 7
    Dernier message: 07/07/2008, 11h18
  3. Créer une image à partir d'une scène
    Par ludollu dans le forum Ogre
    Réponses: 4
    Dernier message: 22/06/2007, 14h32
  4. Réponses: 1
    Dernier message: 01/11/2006, 17h36
  5. Créer une image à partir d'une URL ?
    Par DrySs dans le forum Langage
    Réponses: 1
    Dernier message: 26/01/2006, 09h39

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