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

Tomcat et TomEE Java Discussion :

probleme url pattern /


Sujet :

Tomcat et TomEE Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 48
    Par défaut probleme url pattern /
    Bonjour a tous,
    je vous explique mon soucis, j'ai dans mon appli le besoin d'acceder une image dans un jsp via une simple balise img, mon probleme est le suivant:
    Quand l'appli va chercher mon image il passe par le mappage de l'url "/" que j'ai effectivement mapper dans mon web.xml. En fait j'ai l'impression qu'avec le mappage de "/" il considere toutes les url qu'il ne connait pas (.../image.jpeg, ../pouet.pouet, etc...) comme "/" et envoie donc la servlet correspondante, du coup il ne me renvoie pas mon image.
    Est ce que quelqun aurait une idée pour contourner ce problème a part ne pas mapper "/"

    Merci d'avance

  2. #2
    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
    tu pourrais nous montrer ton code JSP, ce que tu attends comme résultat et ce que tu as comme résultat? Ta question me semble confuse.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 48
    Par défaut
    Je vais essayer d'etre plus clair j'ai crée un projet en mettant le minimum pour montrer mon probleme.
    J'ai donc mon fichier jsp test.jsp comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Insert title here</title>
    </head>
    <body>
    	<img src=images/suppr.jpg alt=suppr />
    </body>
    </html>
    mon fichier web.xml comme cela

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
     
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
      <display-name>Explication</display-name>
     
    	<servlet>
    		<servlet-name>affichageServlet</servlet-name>
    		<servlet-class>servlet.DoAffichage</servlet-class>
    	</servlet>
     
    	<servlet-mapping>
    		<servlet-name>affichageServlet</servlet-name>
    		<url-pattern>/</url-pattern>
    	</servlet-mapping>
    </web-app>
    la servlet DoAffichage ne fait rien a part renvoyer sur test.jsp

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    request.getRequestDispatcher("test.jsp").forward(request, response);

    Maintenant quand je vais sur mon appli localhost:8080/Explication/ j'ai ma page qui se charge mais mon image n'est pas la (j'ai a la place le texte "suppr" comme le stipule ma balise <img>.
    Et quand j'essai de voir directement mon image via localhost:8080/Explication/images/suppr.jpg ca me renvoie l'erreur suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Etat HTTP 404 - /Explication/images/test.jsp
     
    type Rapport d'état
     
    message /Explication/images/test.jsp
     
    description La ressource demandée (/Explication/images/test.jsp) n'est pas disponible.
    Apache Tomcat/6.0.20



    Par contre si dans mon web.xml je remplace la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <url-pattern>/</url-pattern>
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <url-pattern>/toto</url-pattern>
    alors là l'image s'affiche bien dans ma page jsp en appelant localhost:8080/Explication/toto et également quand je l'affiche seul avec localhost:8080/Explication/images/suppr.jpg


    Voila j'espere c'est plus clair de cette facon.
    J'ajoute un war de mon projet si ca peut aider a comprendre
    il se trouve sur http://parra.pierre.free.fr/

    Merci bien

  4. #4
    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
    "/" est le mapping de la servlet "par défaut" dans un web.xml. Par conséquent tout ce qui ne correspond pas a une autre servlet arrivera dessus. Quand tu ne met rien de particulier comme mapping sur "/" c'est une servlet appartenant au conteneur et servant les ressources qui est utilisées. Mais comme tu a défini ta propre servlet par défaut, c'est elle qui est alors chargée de fournir toutes les ressources (images, html, etc) demandées par les browsers. Tes deux solutions sont donc, je pense

    soit tu modifie ta servlet pour qu'elle retourne les images etc quand on les lui demande
    soit tu mappe ta servlet ailleurs que sur / (ce que je recommanderais )

  5. #5
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Ça me paraît brut de fonderie ta façon d'envisager l'affichage d'une image, si par la suite tu veux mixer image / servlet, ça posera problème vu l'url-pattern "/"

    Tu devrais peut-être envisager l'usage d'un filtre et d'une url commençant par exemple par "/images/..." pour limiter (avec une servlet, ça fonctionnera également)
    Dans le web.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <filter>
      <filter-name>ServletImageFilter</filter-name>
      <filter-class>obia.kernel.ServletImageFilter</filter-class>
     </filter>
     <filter-mapping>
      <filter-name>ServletImageFilter</filter-name>
      <url-pattern>/images/*</url-pattern>
     </filter-mapping>
    Dans les pages JSP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <img src="/images/monImage1.gif" .../>
    A la base, où est ton problème, l'image n'est pas accessible dans le contexte de l'application ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    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
    Citation Envoyé par OButterlin Voir le message
    A la base, où est ton problème, l'image n'est pas accessible dans le contexte de l'application ?
    Son problème c'est le mapping "/" qui cache tout

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

Discussions similaires

  1. [<url-pattern>] Fonctionnement global
    Par bitardo dans le forum JSF
    Réponses: 8
    Dernier message: 19/07/2007, 15h06
  2. Debian, apache2, probleme url rewriting
    Par gantix dans le forum Réseau
    Réponses: 1
    Dernier message: 03/04/2007, 23h23
  3. Probleme Url rewriting
    Par bat2504 dans le forum Apache
    Réponses: 1
    Dernier message: 15/10/2006, 09h21
  4. [Tableaux] probleme URL !
    Par lecail65 dans le forum Langage
    Réponses: 2
    Dernier message: 20/07/2006, 10h47
  5. [debutant] probleme url comme parametre
    Par orelero dans le forum Langage
    Réponses: 2
    Dernier message: 18/12/2005, 13h51

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