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 :

[JSP]Récupéré le répertoire courant


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    457
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 457
    Par défaut [JSP]Récupéré le répertoire courant
    Bonjour à tous,

    Dans mon application, mes servlets passent la main aux JSP via
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    getServletConfig().getServletContext().getRequestDispatcher("html/monRep/maPage.jsp").forward(request, response);
    Ensuite dans ma JSP, si je veux afficher une image, je dois faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <img src="html/monRep/img/monImage.gif" alt="image"/>
    Hors, j'aimerais pouvoir réutiliser certains ficheirs à différents endroits, donc j'aimerais que le lien soit relatif..
    Mon but est de pouvoir faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <img src="img/monImage.gif" alt="image"/>
    Pour celà, j'ai tenté de récupérer le répertoire html/monRep mais sans succès..
    J'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
       System.out.println("1"+request.getRealPath("/"));
       System.out.println("2"+request.getPathInfo());
       System.out.println("3"+request.getRequestURL());
       System.out.println("4"+request.getRequestURI());
        System.out.println("5"+request.getServletPath());
     
     
    [6/05/10 15:04:56:531 CEST] 56901955 SystemOut     O 1C:\REP\Folder1\Folder2\APPLI\WebContent
    [6/05/10 15:04:56:531 CEST] 56901955 SystemOut     O 2null
    [6/05/10 15:04:56:531 CEST] 56901955 SystemOut     O 3https://localhost:9443/APPLI/html/myRep/maPage.jsp
    [6/05/10 15:04:56:531 CEST] 56901955 SystemOut     O 4/APPLI/html/myRep/index.jsp
    [6/05/10 15:04:56:531 CEST] 56901955 SystemOut     O 5/html/myRep/index.jsp
    Le 5ème, sans le nom de fichier !

    Est-ce possible d'une façon ou d'une autre?

    Merci

  2. #2
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    187
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 187
    Par défaut
    Est-ce qu'il y a une réponse à la demande de monsieur?

  3. #3
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="<%=request.getContextPath()%>/html/monRep/img/monImage.gif"/>

  4. #4
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    457
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 457
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="<%=request.getContextPath()%>/html/monRep/img/monImage.gif"/>
    le but est de pouvoir utiliser "img/monImage.gif" .
    ça fonctionne déjà très bien sans le "<%=request.getContextPath()%>"

  5. #5
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    sans le <%=request.getContextPath()%> ton jsp deviens indépendant du mapping de la servlet, ce qui est problématique (d'ou l'intéret de mettre un chemin depuis la racine). Pour le reste, la solution a déjà été donnée, request.getServletPath() te donne le chemin de la JSP, t'as plus qu'à couper à l'endroit voulu.

    autre possibilité, utilise le content -location. D'après le RFC ça devrait avoir le meme effet qu'accéder directement à la JSP.


    Code JSP : Sélectionner tout - Visualiser dans une fenêtre à part
    <% response.setHeader("Content-Location","http://"+request.getServerName()+":"+request.getServerPort+request.getContextPath()+request.getServletPath()); %>

  6. #6
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    457
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 457
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    sans le <%=request.getContextPath()%> ton jsp deviens indépendant du mapping de la servlet, ce qui est problématique (d'ou l'intéret de mettre un chemin depuis la racine). Pour le reste, la solution a déjà été donnée, request.getServletPath() te donne le chemin de la JSP, t'as plus qu'à couper à l'endroit voulu.

    autre possibilité, utilise le content -location. D'après le RFC ça devrait avoir le meme effet qu'accéder directement à la JSP.


    Code JSP : Sélectionner tout - Visualiser dans une fenêtre à part
    <% response.setHeader("Content-Location","http://"+request.getServerName()+":"+request.getServerPort+request.getContextPath()+request.getServletPath()); %>
    En quoi est-ce problématique ?
    (Je ne critique pas, je cherche à comprendre ) ^^

Discussions similaires

  1. Répertoire courant
    Par remika dans le forum Entrée/Sortie
    Réponses: 19
    Dernier message: 05/07/2005, 11h18
  2. [Débutant] Connaitre le répertoire courant
    Par The Wretched dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 16/06/2005, 12h51
  3. [File] Problème de répertoire courant
    Par seb_asm dans le forum Applets
    Réponses: 5
    Dernier message: 03/05/2005, 19h44
  4. [JSP] Récupérer le répertoire courant
    Par dafly dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 10/06/2004, 11h01
  5. répertoire courant ".\"
    Par tut dans le forum MFC
    Réponses: 2
    Dernier message: 10/03/2004, 09h57

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