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 :

Pb chemin d'accès avec Tomcat


Sujet :

Tomcat et TomEE Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 14
    Points : 2
    Points
    2
    Par défaut Pb chemin d'accès avec Tomcat
    Bonjour,

    Voilà je débute sous Eclipse et Tomcat, je pense avoir bien compris la philosophie de Tomcat, mais il y a peut être certaines choses qui m'échappent.

    Je souhaiterai pouvoir exécuter en local avec Tomcat une application web qui
    est hébergé sur Sun One Web Server 6.1.

    J'ai créé une web application sous eclipse, voici l'arborescence:
    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
     
    FOURMI
     - javaSources
     - WebContent
          - jsp
                - clients
                - factures
                - ...
                - index.jsp 
          - META-INF
          - static-content
                 - aides 
                 - css 
                 - ...
                 - index.html
          - WEB-INF
    la page d'accueil défini dans web.xml est index.html, il n'y pas de problème la page se lance. Cette page essaye de lancer la page index.jsp,
    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
    17
    18
    <html> 
    <head> 
    <title>Fourmi</title> 
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <meta http-equiv="pragma" content="no-cache">    
    <meta http-equiv="cache-control" content="no-cache"> 
    <meta http-equiv="expires" content="0">  
     
    <script>
    function init() {
    	<!--document.location.href='/jsp/index.jsp';-->
    	document.open('/jsp/index.jsp', 'fourmiPrinc', 'width=790,height=545,screenX=0,left=0,screenY=0,top=0','dialogWidth:790px;dialogHeight:545px;resizable:no;scroll:no;status:no;help:no');
    }
    </script>
     
    </head>
    <body onLoad="init();"></body>
    </html>

    et c'est là que le pb survient. Si remplace /jsp/index.jsp, par ../jsp/index.jsp ok ça fonctionne, mais je n'ai pas envi de changer tous les chemins de mon projets, sachant que ça fonctionne sur un autre serveur.

    J'essaye de lancer l'appli, soit en deployant un war sur tomcat et via l'adresse http://localhost:8080/FOURMI sur IE. Soit directement sous eclipse ("run on server"). Le problème est le même

    Est ce j'ai oublié de paramétrer des chemins ?

    merci pour vos réponses

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 14
    Points : 2
    Points
    2
    Par défaut
    Sniff personne pour m'aider sur ce problème ???

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    280
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 280
    Points : 344
    Points
    344
    Par défaut
    Salut,

    Peux tu nous montrer ton web.xml ?

    ---
    Farid

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 14
    Points : 2
    Points
    2
    Par défaut
    Voici le fichier web.xml original
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!--
    <!DOCTYPE web-app
        PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
        "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
    -->
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
    <!-- initialisation du menu -->
    	<servlet>
        	<servlet-name>FourmiInit</servlet-name>
    	    <display-name>FourmiInit</display-name>
    	    <description>FourmiInit</description>
        	<servlet-class>dirr.dpcg.fourmi.init.FourmiInit</servlet-class>
    	    <init-param>
    			<param-name>Menu</param-name>
    			<param-value>/menu.xml</param-value>
    		</init-param>
    		<load-on-startup>1</load-on-startup>
    	</servlet>
     
    	<servlet>
    		<servlet-name>MainServlet</servlet-name>
    		<servlet-class>dirr.dpcg.fourmi.servlet.MainServlet</servlet-class>
    		<init-param>
    			<param-name>configFourmi</param-name>
    			<param-value>fourmi.prop</param-value>
    		</init-param>
    		<load-on-startup>1</load-on-startup>
    	</servlet>	
     
    	<servlet-mapping>
    		<servlet-name>MainServlet</servlet-name>        
    		<url-pattern>*.do</url-pattern>
    	</servlet-mapping>	
     
    	<servlet-mapping>
        	<servlet-name>FourmiInit</servlet-name>
    	    <url-pattern>/servlet/dirr.dpcg.fourmi.init.FourmiInit</url-pattern>
    	</servlet-mapping>
     
     
    	<welcome-file-list>
    		<welcome-file>static-content/index.html</welcome-file>
    	</welcome-file-list>
     
       	<taglib>
    		<taglib-uri>http://jakarta.apache.org/taglibs/input-0.90</taglib-uri>
    		<taglib-location>/WEB-INF/tld/taglibs-input.tld</taglib-location>
    	</taglib>
    </web-app>

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    280
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 280
    Points : 344
    Points
    344
    Par défaut
    Rien qui ne me saute aux yeux.
    Un filtre cache?

    Quand tu executes le lien/script. tu obtiens quoi comme url sur IE ?

    ---
    Farid

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 14
    Points : 2
    Points
    2
    Par défaut
    Que veux tu dire par le lien script ?

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    280
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 280
    Points : 344
    Points
    344
    Par défaut
    ajoute ca dans ta page html:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href='/jsp/index.jsp'>test<a>
    et quand tu click dessus, qu'obtiens-tu comme url dans la barre d'adresse de IE/Firefox ?

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 14
    Points : 2
    Points
    2
    Par défaut
    Voilà l'adresse que j'ai dans la barre IE

    http://localhost:8080/jsp/index.jsp

    Il sort du context pour faire sa recherche, pourquoi ???

    est ce que tu sais ou cela doit se paramétrer?

    Cette application marche très bien sur un autre serveur d'application, je ne souhaiterai as modifier le code de tous les chemins de l'appli pour que cela afoncionne

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    280
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 280
    Points : 344
    Points
    344
    Par défaut
    autant pour moi, les yeux pas tres ouvert cet apres midi.
    Pour utiliser un lien relatif au webroot il faut faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    a href='jsp/index.jsp'>test<a>
    sans le slash initial qui lui se referre au serveur et non a l'application.
    J'ai verifie sur une app local que j'ai et c'est pareil.
    Par contre je n'explique pas pourquoi sous sun ca marche ???

    ---
    Farid

  10. #10
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 14
    Points : 2
    Points
    2
    Par défaut
    si je ne mets pas le slash au début, il va rechercher dans le répertoire ou il se situe ??
    Voilà où il cherche

    http://localhost:8080/fourmi/static-.../jsp/index.jsp

    la seule solution est donc de mettre
    /fourmi/jsp/index.jsp
    ou
    ../jsp/index.jsp

    Mais cela va me faire modifier tous les chemins de mon appli, mais ce n'est pas du tout ce que je veux ...

    Est ce que tu vois une autre explication ?

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    280
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 280
    Points : 344
    Points
    344
    Par défaut
    de retour...
    pfff bon. retour au basic...
    ca fais un moment que j'ai pas utiliser des liens comme ca.
    Mes liens passe systematique par des servlets java ou des pages dans le meme repertoire.
    En tout cas ton probleme confirme bien qu'il doit y a voir une sorte de "urlrewrite" dans sun one pour que ton code tel quel marche dessus,
    Un peu comme lorsque l'on utilise Apache+Tomcat.

    Voici une solution d'implementation pour tomcat seul:
    http://www.jahia.net/jahia/Jahia/sit...0?entryId=3479

    Il utilise cette librairie.
    http://tuckey.org/urlrewrite/

    ca te demandra de modifier ton web.xml pour ton environnement de test, mais bon c'est classique d'en avoir different pour chaque environment cible (prod, recette, test...)

    ---
    Farid.

  12. #12
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 14
    Points : 2
    Points
    2
    Par défaut
    Merci, pour cette solution je pense que l'on approche de la vérité, mais malheureusement cela ne marche toujours pas.

    J'ai installé les deux fichiers dans le projet, et aussi essayé plusieurs type de rule dans le fichier urlrewrite.xml, mais aucune n'a fonctionné.

    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
     
        <rule>
            <from>/jsp</from>
            <to>/fourmi/jsp</to>
        </rule>
    ou 
        <rule>
            <from>/jsp/*</from>
            <to>/fourmi/jsp</to>
        </rule>
    ou
        <rule>
            <from>/jsp/index.jsp</from>
            <to>/fourmi/jsp/index.jsp</to>
        </rule>
    sais tu comment doit on définir les rules ?
    merci

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    280
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 280
    Points : 344
    Points
    344
    Par défaut
    as tu ajoute les <filter> et <filter-mapping> dans ton web.xml ?

    ---
    Farid

  14. #14
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 14
    Points : 2
    Points
    2
    Par défaut
    oui, oui j'ai bien suivi les indications du site http://www.jahia.net/jahia/Jahia/sit...0?entryId=3479

    et ensuite j'ai fait des essais de redirection mais il n'y a rien qui fonctionne.


    Autre point qui ne fonctionne pas qui est peut être lié ou qui peut soulever un autre problème.

    La page index.jsp est une page de connexion classique avec un formulaire. Lorsque le formulaire est validé, on envoie comme action
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    action="/authentifier.do"
    cette requête doit être capté par ma servlet principale comme cela est bien défini dans le web.xml. or j'ai aussi le message "La ressource demandée (/authentifier.do) n'est pas disponible."

    Est ce que ces erreurs ont un lien ??

    Merci de m'éclairer un peu ??

  15. #15
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    280
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 280
    Points : 344
    Points
    344
    Par défaut
    pour ton 2eme probleme remplace dans ton web.xml:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    	<servlet-mapping>
    		<servlet-name>MainServlet</servlet-name>        
    		<url-pattern>*.do</url-pattern>
    	</servlet-mapping>
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    	<servlet-mapping>
    		<servlet-name>MainServlet</servlet-name>        
    		<url-pattern>/*.do</url-pattern>
    	</servlet-mapping>
    pour le reste, montre moi ton nouveau web.xml.

    ---
    Farid

  16. #16
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    280
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 280
    Points : 344
    Points
    344
    Par défaut
    Bon j'ai essayer de mon cote, mais ca ne fonctionne pas non plus.
    le / demarrant tes url le font sortir de l'application sans que urlrewrite puisse prendre la main.

    La seule solution que je vois (sans changer les url) c'est de faire une installation d'apache+tomcat et de definir le rewrite dans apache... fastidieux comme install....

    desole de ne pouvoir faire plus,

    ---
    Farid.

  17. #17
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 14
    Points : 2
    Points
    2
    Par défaut
    Je te remercie pour le temps consacré sur mes problèmes.

    je te tiens au courant, si jamais je trouve qq chose.

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Normalement, lorsque tu utilises une adresse de la forme "/jsp/unePage.jsp", tu fais référence à l'adresse de base (précisée par <base href="...">).
    Rien ne dit que d'un serveur à l'autre, les mêmes règles s'appliquent.
    Si tu références par "./jsp/unePage.jsp", c'est plus ce que tu cherches et ça devrait fonctionner quelque soit le serveur.
    En ce qui me concerne, je n'utilise pas de page html mais des pages jsp, ne serait-ce que pour référencer de manière explicite "<%=request.getContextPath()%>/jsp/unePage.jsp"

    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  19. #19
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 14
    Points : 2
    Points
    2
    Par défaut
    je comprends qu'utiliser une page jsp est beaucoup plus pratique, mais je n'ai pas le choix, je dois garder ces pages statiques.

    j'ai essayé ce tu m'as dit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <head>
    ...
    <base href="http://localhost:8080/fourmi/" />
    ...
    </head>
    mais le problème reste le même, et je n'arrive toujours pas à exécuter mes servlets, même en changeant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <servlet-mapping>
    		<servlet-name>MainServlet</servlet-name>        
    		<url-pattern>*.do</url-pattern>
    	</servlet-mapping>
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    	<servlet-mapping>
    		<servlet-name>MainServlet</servlet-name>        
    		<url-pattern>/*.do</url-pattern>
    	</servlet-mapping>
    Je ne comprends plus grand chose

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Je ne vois pas le lien entre ton fichier html et le mapping *.do
    Que cherches-tu à faire exactement ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. chemin d'accès avec espace
    Par mrglobule dans le forum VBScript
    Réponses: 2
    Dernier message: 14/11/2011, 13h54
  2. crontab chemin d'accés avec -f
    Par chris0938 dans le forum Linux
    Réponses: 3
    Dernier message: 13/10/2010, 09h08
  3. [Configuration] Chemin d'accès avec un script
    Par Skippy1 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 29/01/2007, 21h26
  4. Probleme de chemin d'acces avec batch
    Par kernerteam dans le forum Autres Logiciels
    Réponses: 4
    Dernier message: 28/04/2006, 16h45
  5. probleme de chemin d'acces avec aspSmartUpload
    Par julio_097 dans le forum ASP
    Réponses: 2
    Dernier message: 22/08/2005, 16h53

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