web.xml : mappage d'URL
J'ai ces deux lignes dans mon web.xml
<url-pattern>/</url-pattern> : Index Servlet
<url-pattern>/login</url-pattern> : Login Servlet
mais whem j'ouvre http://localhost:8084/login/
, il va à Index Servlet
et quand j'ai ouvert http://localhost:8084/login
, il va à Login Servlet
.
Quelle est la différence dans http://localhost:8084/login/
et http://localhost:8084/login
?
Mon web.xml
<servlet> <servlet-name>Index</servlet-name> <servlet-class>Index</servlet-class> </servlet> <servlet> <servlet-name>Connexion</servlet-name> <servlet-class>Connexion</servlet-class> </servlet>
et
<servlet-mapping> <servlet-name>Index</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>Connexion</servlet-name> <url-pattern>/login</url-pattern> </servlet-mapping>
- Pouvez-vous fournir la pièce de
web.xml
avoir l'URL de la cartographie des configurations?
Vous devez vous connecter pour publier un commentaire.
Le modèle d'URL de
/
a une signification particulière. Il indique à savoir le "Défaut de Servlet" modèle d'URL. Donc chaque demande qui ne pas correspondent à aucune des autres plus spécifiques des modèles URL dansweb.xml
sera finalement dans cette servlet. Notez que cela couvre également les fichiers statiques comme la plaine de la vanille HTML/CSS/JS et les fichiers d'image! Normalement, le "Défaut de Servlet" est déjà fourni par le conteneur de servlet lui-même (voir, par exemple,TomcatDefaultServlet
de la documentation). Substitution de la "Défaut de Servlet" dans votre propre application web doit être fait avec une extrême prudence et certainement pas de cette façon.Vous avez besoin pour donner à votre indice de servlet un autre modèle d'URL. Il doit être le même que celui que vous avez défini dans
<welcome-file>
.De sorte qu'en cas de
vous avez besoin de la carte de l'indice de servlet comme suit
À l'aide d'une réécriture d'URL, filtre comme suggéré par d'autres réponse est inutile pour le but que vous aviez à l'esprit.
Oui, il y a une différence. Soit utiliser quelque chose comme UrlRewriteFilter pour enlever le slash de fin, ou de votre web.xml spécifier à la fois:
et
Que la cartographie de la connexion servlet.
Si vous voulez aller à la Connexion de la Servlet.
pourquoi ne pas essayer de Printemps de Mappage d'URL
Regarder cette Spring MVC Framework Tutoriel