Wenn Du innerhalb eines vorderen contoller Servlet, das auf einem Präfix Muster abgebildet wird, , dann können Sie einfach HttpServletRequest#getPathInfo()
verwenden.
String pathInfo = request.getPathInfo();
// ...
Unter der Annahme, dass das Servlet in Ihrem Beispiel auf /secure
abgebildet wird, dann wird diese /users
zurück, die die Informationen des alleinigen Interesses in einem typischen Front-Controller-Servlet sein würde.
Wenn das Servlet jedoch auf ein Suffix-Muster abgebildet wird (Ihre URL-Beispiele zeigen jedoch nicht, dass dies der Fall ist) oder wenn Sie sich tatsächlich in einem Filter befinden (wenn das aufzurufende Servlet nicht unbedingt erforderlich ist) noch nicht bestimmt, so konnte getPathInfo()
null
) zurück, dann Ihre beste Wette ist die Anforderungs-URI sich auf die Länge der üblichen String
Methode Kontextpfad basiert auf Teilzeichen:
manchmal
HttpServletRequest request = (HttpServletRequest) req;
String path = request.getRequestURI().substring(request.getContextPath().length());
// ...
möglich Duplikat [Was ist der Unterschied zwischen getRequestURI und getPathInfo Methoden in HttpServletRequest?] (http://stackoverflow.com/questions/4931323/whats-the-difference-between-getrequesturi-and-getpathinfo-methods-in-httpservl) – Leonel