Si vous êtes à l'intérieur d'une servlet contoller avant qui est mis en correspondance sur un modèle de préfixe , alors vous pouvez simplement utiliser HttpServletRequest#getPathInfo()
.
String pathInfo = request.getPathInfo();
// ...
En supposant que le servlet dans votre exemple est mis en correspondance sur /secure
, alors ce sera de retour /users
qui serait l'information de seul intérêt dans un servlet contrôleur frontal typique. Si le servlet est toutefois mappé sur un modèle de suffixe (vos exemples d'URL n'indiquent cependant pas que c'est le cas), ou lorsque vous êtes réellement dans un filtre (lorsque le servlet à invoquer n'est pas nécessairement encore déterminé, donc getPathInfo()
pourrait revenir null
), alors votre meilleur pari est de sous-chaîne la demande URI vous en fonction de la longueur du chemin de contexte en utilisant la méthode String
habituelle:
HttpServletRequest request = (HttpServletRequest) req;
String path = request.getRequestURI().substring(request.getContextPath().length());
// ...
double possible de [Quelle est la différence entre les méthodes getRequestURI et getPathInfo dans HttpServletRequest?] (http://stackoverflow.com/questions/4931323/whats-the-difference-between-getrequesturi-and-getpathinfo-methods-in-httpservl) – Leonel