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 :

Tomcat: Avoir une url friendly


Sujet :

Tomcat et TomEE Java

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Administrateur systèmes et applicatifs
    Inscrit en
    Février 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et applicatifs
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2006
    Messages : 23
    Points : 28
    Points
    28
    Par défaut Tomcat: Avoir une url friendly
    Bonjour à tous,

    J'ai regardé sur plusieurs forums, mais après avoir testé les solutions, ça ne fonctionne pas.

    J'installe une application qui démarre correctement sur tomcat.

    Cette application, elle fonctionne avec un chemin "lourd": http://127.0.0.1/Application/Main

    Moi, je veux juste donner la première partie de l'url: http://127.0.0.1/ (qui sera autre chose avec une entrée DNS qui va bien)

    J'ai modifié mon fichier server.xml du dossier /conf de Tomcat. (Je n'ai qu'une et je n'aurais que cette application)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <Host name="localhost"  
    			<Context path="/Application" docBase="webapps/Application/" debug="0"
                           reloadable="true" crossContext="true">
    Mais quand je rentre mon url (après avoir redémarré mon service tomcat, je suis sur windows), http://127.0.0.1/ , il m'affiche que cette page ne peut pas être affichée !

    Qu'est-ce que j'ai oublié ? (j'ai respecté le "case sensitive" de mes dossiers) Host Name=, ça sert à quoi ?

    Merci d'avance de vos éclairages,
    Cyrille
    PS: J'ai modifié mon port dans "connector" à 80, et je ne désire pas utiliser le couple apache/tomcat/modjk

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Pour remplacer le /Application dans l'url, il faut faire de ton application web la "root application" de tomcat. dans ton server.xml, ce n'est pas /Application qu'il faut indiquer mais "" (le vide)
    Ensuite il faut bien retirer aussi du server.xml la référence ancienne au root.war poru éviter les conflit.

    Avec ça ton application sera accessible sous http://server/Main


    Pour supprimer le main, c'est ton application que tu dois corriger. visiblement une servlet est mappée sur "/Main" ou "/Main/*" et tu veux la mapper sur /*. Ca se fait dans le server.xml.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Administrateur systèmes et applicatifs
    Inscrit en
    Février 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et applicatifs
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2006
    Messages : 23
    Points : 28
    Points
    28
    Par défaut
    Merci à toi.

    Hélas, ça ne fonctionne pas. Voilà les erreurs (dans le log tomcat/catalina):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    INFO: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
    10 juil. 2014 10:27:35 org.apache.tomcat.util.digester.SetPropertiesRule begin
    ATTENTION: [SetPropertiesRule]{Server/Service/Engine/Host} Setting property 'path' to '' did not find a matching property.
    10 juil. 2014 10:27:35 org.apache.tomcat.util.digester.SetPropertiesRule begin
    ATTENTION: [SetPropertiesRule]{Server/Service/Engine/Host} Setting property 'docBase' to 'webapps/application/' did not find a matching property.
    10 juil. 2014 10:27:35 org.apache.tomcat.util.digester.SetPropertiesRule begin
    ATTENTION: [SetPropertiesRule]{Server/Service/Engine/Host} Setting property 'debug' to '0' did not find a matching property.
    10 juil. 2014 10:27:35 org.apache.tomcat.util.digester.SetPropertiesRule begin
    ATTENTION: [SetPropertiesRule]{Server/Service/Engine/Host} Setting property 'reloadable' to 'true' did not find a matching property.
    10 juil. 2014 10:27:35 org.apache.tomcat.util.digester.SetPropertiesRule begin
    ATTENTION: [SetPropertiesRule]{Server/Service/Engine/Host} Setting property 'crossContext' to 'true' did not find a matching property.
    10 juil. 2014 10:27:35 org.apache.catalina.core.AprLifecycleListener initializeSSL
    INFO: OpenSSL successfully initialized with version OpenSSL 1.0.1g 7 Apr 2014
    10 juil. 2014 10:27:36 org.apache.coyote.http11.Http11AprProtocol init
    Je ne suis pas sûr d'avoir compris ce que tu me disais sur la suppression de "root war"; Voici mon server.xml:
    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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    <?xml version='1.0' encoding='utf-8'?>
    <!--
      Licensed to the Apache Software Foundation (ASF) under one or more
      contributor license agreements.  See the NOTICE file distributed with
      this work for additional information regarding copyright ownership.
      The ASF licenses this file to You under the Apache License, Version 2.0
      (the "License"); you may not use this file except in compliance with
      the License.  You may obtain a copy of the License at
     
          http://www.apache.org/licenses/LICENSE-2.0
     
      Unless required by applicable law or agreed to in writing, software
      distributed under the License is distributed on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
      See the License for the specific language governing permissions and
      limitations under the License.
    -->
    <!-- Note:  A "Server" is not itself a "Container", so you may not
         define subcomponents such as "Valves" at this level.
         Documentation at /docs/config/server.html
     -->
    <Server port="8005" shutdown="SHUTDOWN">
     
      <!--APR library loader. Documentation at /docs/apr.html -->
      <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
      <!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html -->
      <Listener className="org.apache.catalina.core.JasperListener" />
      <!-- Prevent memory leaks due to use of particular java/javax APIs-->
      <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
      <!-- JMX Support for the Tomcat server. Documentation at /docs/non-existent.html -->
      <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
      <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
     
      <!-- Global JNDI resources
           Documentation at /docs/jndi-resources-howto.html
      -->
      <GlobalNamingResources>
        <!-- Editable user database that can also be used by
             UserDatabaseRealm to authenticate users
        -->
        <Resource name="UserDatabase" auth="Container"
                  type="org.apache.catalina.UserDatabase"
                  description="User database that can be updated and saved"
                  factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
                  pathname="conf/tomcat-users.xml" />
      </GlobalNamingResources>
     
      <!-- A "Service" is a collection of one or more "Connectors" that share
           a single "Container" Note:  A "Service" is not itself a "Container", 
           so you may not define subcomponents such as "Valves" at this level.
           Documentation at /docs/config/service.html
       -->
      <Service name="Catalina">
     
        <!--The connectors can use a shared executor, you can define one or more named thread pools-->
        <!--
        <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" 
            maxThreads="150" minSpareThreads="4"/>
        -->
     
     
        <!-- A "Connector" represents an endpoint by which requests are received
             and responses are returned. Documentation at :
             Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)
             Java AJP  Connector: /docs/config/ajp.html
             APR (HTTP/AJP) Connector: /docs/apr.html
             Define a non-SSL HTTP/1.1 Connector on port 8080
        -->
        <Connector port="80" protocol="HTTP/1.1" 
                   connectionTimeout="20000" 
                   redirectPort="8443" />
        <!-- A "Connector" using the shared thread pool-->
        <!--
        <Connector executor="tomcatThreadPool"
                   port="8080" protocol="HTTP/1.1" 
                   connectionTimeout="20000" 
                   redirectPort="8443" />
        -->           
        <!-- Define a SSL HTTP/1.1 Connector on port 8443
             This connector uses the JSSE configuration, when using APR, the 
             connector should be using the OpenSSL style configuration
             described in the APR documentation -->
        <!--
        <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
                   maxThreads="150" scheme="https" secure="true"
                   clientAuth="false" sslProtocol="TLS" />
        -->
     
        <!-- Define an AJP 1.3 Connector on port 8009 -->
        <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
     
     
        <!-- An Engine represents the entry point (within Catalina) that processes
             every request.  The Engine implementation for Tomcat stand alone
             analyzes the HTTP headers included with the request, and passes them
             on to the appropriate Host (virtual host).
             Documentation at /docs/config/engine.html -->
     
        <!-- You should set jvmRoute to support load-balancing via AJP ie :
        <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">         
        --> 
        <Engine name="Catalina" defaultHost="localhost">
     
          <!--For clustering, please take a look at documentation at:
              /docs/cluster-howto.html  (simple how to)
              /docs/config/cluster.html (reference documentation) -->
          <!--
          <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
          -->        
     
          <!-- The request dumper valve dumps useful debugging information about
               the request and response data received and sent by Tomcat.
               Documentation at: /docs/config/valve.html -->
          <!--
          <Valve className="org.apache.catalina.valves.RequestDumperValve"/>
          -->
     
          <!-- This Realm uses the UserDatabase configured in the global JNDI
               resources under the key "UserDatabase".  Any edits
               that are performed against this UserDatabase are immediately
               available for use by the Realm.  -->
          <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
                 resourceName="UserDatabase"/>
     
          <!-- Define the default virtual host
               Note: XML Schema validation will not work with Xerces 2.2.
           -->
          <Host name="localhost"  
    			path="" docBase="webapps/application/" debug="0"
                           reloadable="true" crossContext="true">
     
     
            <!-- SingleSignOn valve, share authentication between web applications
                 Documentation at: /docs/config/valve.html -->
            <!--
            <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
            -->
     
            <!-- Access log processes all example.
                 Documentation at: /docs/config/valve.html -->
            <!--
            <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"  
                   prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>
            -->
     
          </Host>
        </Engine>
      </Service>
    </Server>
    Merci de ton aide !

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Quelle version de tomcat, pour commencer? Les fichiers de configuration son très différents entre tomcat 5 6 7 et 8

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Administrateur systèmes et applicatifs
    Inscrit en
    Février 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et applicatifs
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2006
    Messages : 23
    Points : 28
    Points
    28
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    Quelle version de tomcat, pour commencer? Les fichiers de configuration son très différents entre tomcat 5 6 7 et 8
    Oupps, désolé: 6.0.41

    Merci !

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    dans ce cas, le plus simple, avec la configuration de base de tomcat, c'est de supprimer ROOT.war dans webapps et d'appeler ton application ROOT.war

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Administrateur systèmes et applicatifs
    Inscrit en
    Février 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et applicatifs
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2006
    Messages : 23
    Points : 28
    Points
    28
    Par défaut
    Bonjour,

    J'ai effectivement vu cette solution sur plusieurs discussions en anglais. Sauf que....ce fichier root.war, il n'existe pas dans mon installation !


    Si tu as d'autres idées, je suis preneur, certains (collègues) m'ont proposé des solutions....mmm...assez folles (IIS + rewrite url)

    Cyrille

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Citation Envoyé par Cyrille999 Voir le message
    Bonjour,

    J'ai effectivement vu cette solution sur plusieurs discussions en anglais. Sauf que....ce fichier root.war, il n'existe pas dans mon installation !
    Ben tu le crée, dans webapps. Enfin, quand je dit tu le crée, t'appelle just ton war comme ça

    et c'est ROOT.war par root.war


    Citation Envoyé par Cyrille999 Voir le message
    Si tu as d'autres idées, je suis preneur, certains (collègues) m'ont proposé des solutions....mmm...assez folles (IIS + rewrite url)

    Cyrille
    C'est en général ce qu'on fait: un serveur http en frontend et tomcat à l'arrière, ça permet aussi de masque certaines url que tu ne veux pas rendre exploitable, de cacher le numéro de port et de gérer facilement le ssl.

Discussions similaires

  1. Avoir une partie d'URL
    Par erichou7 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 30/05/2015, 15h04
  2. Réponses: 0
    Dernier message: 09/08/2010, 14h19
  3. Avoir une url fixe ?
    Par requiem133 dans le forum Windows Serveur
    Réponses: 0
    Dernier message: 25/05/2009, 17h03
  4. Réponses: 1
    Dernier message: 02/01/2009, 13h41

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