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 :

Différence entre url Relatif et url Absolue


Sujet :

Servlets/JSP Java

  1. #1
    Membre du Club
    Différence entre url Relatif et url Absolue
    Bonjour tout le monde,

    C'est quoi la différence entre url relatif et url absolue, quand est ce que je dois utiliser l'un et quand est ce que je dois utiliser l'autre

    merci pour votre aide

  2. #2
    Membre expert
    En direct live

    URL absolues et relatives

    Lorsque vous entrez une URL dans le panneau URL, vous pouvez spécifier une URL absolue ou relative :

    * Si vous établissez un lien vers une page Web n'appartenant pas à votre site, vous devez spécifier une URL absolue.
    * Par contre, si vous établissez un lien vers une page Web figurant dans votre site, vous pouvez spécifier une URL absolue ou relative.

    Les URL absolues sont des adresses URL complètes, incluant le protocole de serveur (qui est généralement http:// pour les pages Web). Par exemple, http://www.macromedia.com/fr/support est l'URL absolue de la page Web du Centre d'assistance de Macromedia Fireworks. Les URL absolues restent précises, quel que soit l'emplacement du document source, mais le lien est rompu si le document cible est déplacé.

    Les URL relatives sont indiquées par rapport au dossier contenant le document source. Les exemples suivants présentent la syntaxe de navigation d'URL relatives :

    * fichier.htm établit un lien avec un fichier situé dans le même dossier que le document source.
    * ../../fichier.htm établit un lien avec un fichier situé dans un dossier placé deux niveaux au-dessus du dossier contenant le document source. Chaque signe ../ représente un niveau.
    * htmldocs/fichier.htm établit un lien vers un fichier situé dans un dossier appelé htmldocs, figurant dans le dossier contenant le document source.

    Les URL relatives sont généralement les plus simples pour établir un lien avec un fichier qui restera toujours placé dans le même dossier que le document actif.
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  3. #3
    Membre expert
    C'est simple, c'est pareil qu'un chemin relatif et un chemin absolu, relatif c'est par rapport à l'application dans laquelle tu te trouves, dans un contexte(une webapp si tu veux) précis si tu veux faire appels aux fonctionnalités du même contexte tu fais du relatif c'est à dire tu n'as pas besoin pour appel d'une page de mettre l'url complète mais juste l'identifiant de la page à appeler, ton serveur d'application fais le reste, mais si d'un contexte tu veux faire appel à un service d'une autre appli tu fais le chemin complet, donc de l'url absolue.
    Vous avez peut être hâte de réussir et il n'y a rien de mal à cela...
    mais la patience est aussi une vertu; l'échec vous l'enseignera certainement..."

  4. #4
    Membre du Club
    Merci pour vos réponses, mon problème et le suivant à partir de mon application je veux accéder sur une autre application web déployé sur le même serveur

    j'utilise la façon suivante :

    request.getContextPath()+"/.."+absoluteLinks.get("mysite.perso")

    le problème c'est que la méthode request.getContextPath()
    peut retourner soit :
    http://localhoste:8080/myappli/
    soit
    http://localhoste:8080/myappli/domaineA

    du coup, j'aurai pas toujours un lien correcte,

    Merci d'avance pour votre aide

  5. #5
    Membre expert
    getContexPath retourne le chemin de la servlet encours donc effectivement celui ci change en fonction de l'état de l'application.

    Tu peux prendre getRealPath qui est telle que:
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
     
    String pathAbsolu  = context.getRealPath("/myappli");

    qui te donnera le chemin absolu de ton application ...
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

###raw>template_hook.ano_emploi###