91 votes

Redirection de l'URL de base de Tomcat

En utilisant tomcat, comment puis-je obtenir une demande de http://www.mydomain.com pour rediriger vers http://www.mydomain.com/somethingelse/index.jsp ? je n'ai même pas réussi à obtenir un index.html à afficher à partir de http://mydomain.com .

0 votes

Y a-t-il une raison pour laquelle .htaccess ou isapi ne fonctionnerait pas ?

6 votes

@NonaUrbiz : .htaccess n'est-il pas spécifique au serveur http Apache et ne fonctionne-t-il pas avec Tomcat ?

0 votes

Pour tous les autres, Tomcat ne semble pas le recommander, voir leur documentation. wiki.jenkins-ci.org/display/JENKINS/

127voto

Viral Patel Points 2837

Vous pouvez le faire : Si votre installation de tomcat est par défaut et que vous n'avez fait aucune modification, alors le war par défaut sera ROOT.war . Ainsi, chaque fois que vous appellerez http://yourserver.example.com/ il appellera le index.html ou index.jsp de votre fichier WAR par défaut. Apportez les modifications suivantes dans votre webapp/ROOT pour rediriger les demandes vers http://yourserver.example.com/somewhere/else :

  1. Ouvrir webapp/ROOT/WEB-INF/web.xml , supprimer tout mappage de servlet avec le chemin /index.html ou /index.jsp , et sauvegarder.

  2. Retirer webapp/ROOT/index.html s'il existe.

  3. Créer le fichier webapp/ROOT/index.jsp avec cette ligne de contenu :

    <% response.sendRedirect("/some/where"); %>

    ou si vous voulez diriger vers un autre serveur,

    <% response.sendRedirect("http://otherserver.example.com/some/where"); %>

C'est tout.

9 votes

Il ne fallait que l'étape n°2. Testé sur Tomcat 7.

12 votes

La commande sendRedirect était tout ce qui était nécessaire pour moi. index.jsp contient juste : <% response.sendRedirect("/jasperserver") ; %>

3 votes

N'oubliez pas d'ajouter <% et %> avant tout scriptlet jsp.

27voto

flybywire Points 36050

Nommez votre webapp WAR "Root.war" ou le dossier contenant "Root".

2 votes

Cette approche pose de nombreux problèmes lorsque vous travaillez en local et que vous déployez ensuite votre application sur plusieurs serveurs. En particulier si vous avez plusieurs projets qui vont être déployés sur différents serveurs, et que chacun d'eux peut être Root sur son propre serveur.

19voto

ChssPly76 Points 53452

Jetez un coup d'œil à UrlRewriteFilter qui est essentiellement une implémentation en Java du mod_rewrite d'Apache.

Vous devrez l'extraire dans ROOT sous le dossier webapps vous pouvez ensuite configurer des redirections vers tout autre contexte dans son dossier WEB-INF/urlrewrite.xml le fichier de configuration.

0 votes

UrlRewriteFilter est rapide et a bien fonctionné pour moi. le manuel a de bonnes options et cet article de blog contient également de bonnes informations.

15voto

obaid Points 313

Procédure testée et fonctionnant :

Sauter le chemin du fichier ..\apache-tomcat-7.0.x\webapps\ROOT\index.jsp

supprimez tout le contenu ou déclarez les lignes de code ci-dessous en haut du fichier index.jsp

<% response.sendRedirect("http://yourRedirectionURL"); %>

Veuillez noter que dans le fichier jsp, vous devez commencer la ligne ci-dessus par <% et la terminer par %>.

9voto

Kevin Points 145

Ce que j'ai fait :

J'ai ajouté la ligne suivante dans le fichier Root/index.jsp

 <meta http-equiv="refresh" content="0;url=/somethingelse/index.jsp"/>

2 votes

Cela peut vraiment perturber vos données d'analyse, puisque la référence sera perdue.

1 votes

Un petit avantage de cette méthode est qu'elle peut être placée dans index.html au lieu de index.jsp.

0 votes

@AdrianRM "ce n'est pas la bonne façon de faire", alors quelle est la bonne façon ?

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