138 votes

Tomcat 6 : Comment changer l'application racine

J'essaie de changer l'application par défaut du serveur web Tomcat 6 pour une autre application que "Root" (dans le dossier webapps). Quelle est la meilleure façon de procéder ?

134voto

Il existe trois méthodes :

  • Arrêtez d'abord votre Tomcat à partir de son bin répertoire ( sh shutdown.sh ). Ensuite, supprimez tout le contenu de votre Tomcat webapps dossier ( rm -fr * ). Ensuite, renommez votre fichier WAR en ROOT.war et enfin, lancez votre Tomcat à partir de la page bin répertoire ( sh startup.sh ).

  • Laissez votre fichier de guerre dans $CATALINA_BASE/webapps sous son nom d'origine. Éteindre autoDeploy et deployOnStartup dans l'élément "hôte" dans le server.xml fichier. Définissez explicitement tous les contextes d'application dans le fichier server.xml en spécifiant à la fois le chemin et docBase attributs. Vous devez le faire parce que vous avez désactivé tous les mécanismes de déploiement automatique de Tomcat. et Tomcat ne déploiera plus vos applications à moins qu'il ne trouve leur contexte dans la base de données. à moins qu'il ne trouve leur Contexte dans le server.xml .

    deuxième méthode : pour apporter une quelconque modification à une application, vous devez arrêter et redémarrer Tomcat.

  • Placez votre fichier WAR en dehors du répertoire $CATALINA_BASE/webapps (il doit être à l'extérieur pour éviter un double déploiement). Placez un fichier de contexte nommé ROOT.xml sur $CATALINA_BASE/conf/ . L'élément unique de ce fichier de contexte DOIT avoir une valeur de docBase qui pointe vers l'emplacement de votre fichier WAR. L'élément path ne doit pas être défini - il est dérivé du nom de l'élément .xml dans le cas présent dans ce cas, ROOT.xml . Voir le documentation pour le conteneur Context pour les détails.

Référence

26voto

ze. Points 171

Ajout d'un <Context> dans le <Host> tag dans server.xml pour Tomcat 6 résoudra le problème.

Si vous utilisez path="" vide, vous pouvez utiliser une URL comme http://localhost/first.do .

Dans l'ensemble des attributs de la balise contextuelle docBase="E:\struts-ITRCbook\myStrutsbook" et reloadable="true" puis terminer la balise contextuelle.

Cela devrait ressembler à quelque chose comme ça :

<Host name="localhost"  appBase="webapps" 
        unpackWARs="true" autoDeploy="true"
        xmlValidation="false" xmlNamespaceAware="false">
    <Context path="" docBase="E:\struts-ITRCbook\myStrutsbook" reloadable="true">
    </Context>
</Host>

26voto

Sudheer Palyam Points 624

Dans tomcat 7 avec ces changements, je suis capable d'accéder à myAPP à / et Root à /Root.

<Context path="" docBase="myAPP">
    <!-- Default set of monitored resources -->
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
</Context>
<Context path="ROOT" docBase="ROOT">
    <!-- Default set of monitored resources -->
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
</Context>

Ajouter ci-dessus à la <Host> dans le fichier server.xml

17voto

nestochan Points 101

L'application racine par défaut est généralement Tomcat Manager - qui peut être utile et que j'ai voulu conserver.

donc la façon dont j'ai fait mon app Root et gardé TCmgr était comme ça.

renommé Root en quelque chose d'autre

mv Root TCmgr

puis j'ai créé un lien symbolique par lequel Root pointe vers l'application que je veux rendre par défaut.

ln -s your app Racine

a fonctionné pour moi et semblait être l'approche la plus simple.

--nestochan

13voto

Jon Points 23749

Selon la documentation d'Apache Tomcat, vous pouvez modifier l'application en créant un fichier Root.xml. Voir ceci pour plus d'informations :

http://tomcat.apache.org/tomcat-6.0-doc/config/context.html

"L'application web par défaut peut être définie à l'aide d'un fichier appelé Root.xml."

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X