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 :

Comment faire disparaitre le "context"


Sujet :

Servlets/JSP Java

  1. #1
    En attente de confirmation mail

    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 766
    Points : 1 267
    Points
    1 267
    Par défaut Comment faire disparaitre le "context"
    J'ai une appli web avec comme web.xml :

    Au lieu de faire http://localhost:8084/wsxseditor/service/document.jsp
    je peux juste taper :
    http://localhost:8084/wsxseditor/document/

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app ...>
        <servlet>
            <servlet-name>UriAdaptor</servlet-name>
            <jsp-file>/service/documents.jsp</jsp-file>
            <load-on-startup>1</load-on-startup>
        </servlet>
        <servlet-mapping>
            <servlet-name>UriAdaptor</servlet-name>
            <url-pattern>/documents/*</url-pattern>
        </servlet-mapping>
     
    </web-app>
    Mais j'en veux plus
    Je voudrais n'avoir qu'à taper http://localhost:8084/document/
    et visiblement, ce n'est pas dans le web.xml. C'est parait-il ce que l'on appelle des Cool Urls.

    J'ai checké un peu avec la réécriture d'url d'Apache httpd, mais sans résultat fabuleux.

    http://dltj.org/article/apache-httpd-and-tomcat/ permet de faire le job, mais il faut installer un module mod_proxy_html en plus de mod_proxy ce qui me plait moyen.

    D'autres solutions ?

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 152
    Points : 209
    Points
    209
    Par défaut
    En modifiant le fichier context.xml qui se trouve dans le répertoire META-INF de ton projet de cette manière ca te donnera ce que tu veux:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?xml version="1.0" encoding="UTF-8"?>
    <Context path="/document"/>
    Ensuite tu édites ton web.xml comme ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app ...>
        <servlet>
            <servlet-name>UriAdaptor</servlet-name>
            <jsp-file>/service/documents.jsp</jsp-file>
            <load-on-startup>1</load-on-startup>
        </servlet>
        <servlet-mapping>
            <servlet-name>UriAdaptor</servlet-name>
            <url-pattern>/*</url-pattern>
        </servlet-mapping>
     
    </web-app>
    Et voila!

    Le truc c'est que tu ne pourras accèder qu'à un seul fichier, sauf si tu mappes d'autres pages ou servlets. Il faut juste que tu te renseignes sur les priorités de mapping, sinon tu risques de ne pas obtenir ce que tu souhaites

  3. #3
    En attente de confirmation mail

    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 766
    Points : 1 267
    Points
    1 267
    Par défaut
    Ta réponse est parfaitement bonne, mais en fait je n'ai pas formulé assez précisemment le problème.

    A partir de mon application web wsxseditor, je voudrais pouvoir accéder à mes ressources via les uri :
    http://localhost:8084/document/36 pour les ressources documents
    ou
    http://localhost:8084/users/14 pour les ressources user

    en mettant ceci dans le context.xml, j'ai une sacré erreur au demarrage.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?xml version="1.0" encoding="UTF-8"?>
    <Context path="/document"/>
    <Context path="/user"/>

  4. #4
    Membre régulier
    Inscrit en
    Janvier 2005
    Messages
    144
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 144
    Points : 76
    Points
    76
    Par défaut
    si je comprend bien ton probleme:
    tu as une url comme ceci:

    http://localhost:8080/context/user/index.jsp
    et tu voudrais avoir ceci
    http://localhost:8080/user/index.jsp

    non?
    si c 'est le cas, je vois pas pourquoi tu declares dans ton context.xml, document et user vu que c'est pas le context mais un de tes packages.
    Donc forcement cela genere une erreur.
    Il faudrait au contraire ne rien mettre ds le path vu que le context tu le veux pas.Apres c'est une question de configuration pour savoir si c le fichier context.xml ou un autre fichier.

  5. #5
    En attente de confirmation mail

    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 766
    Points : 1 267
    Points
    1 267
    Par défaut
    Trop fort, ca marche
    Mon context.xml est donc tout simplement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <Context path="/"/>

    Evidemment, c'est un peu trop beau pour être vrai puisque sur le même serveur - et plus tard au même DNS -, j'ai d'autres applications web. Je ne sais pas ce qui va se passer si je met ce même context.xml dans plusieurs applis web.

    En attendant de voir, merci beaucoup.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/08/2009, 09h51
  2. Réponses: 5
    Dernier message: 31/03/2008, 10h41
  3. comment faire disparaitre automatiquement l'initialisation Activex
    Par ludo_84 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/05/2007, 12h44

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