Якщо ви знаходитесь у сервлеті переднього контролера, який відображається за схемою префікса, ви можете просто використовувати HttpServletRequest#getPathInfo()
.
String pathInfo = request.getPathInfo();
// ...
Якщо припустити, що сервлет у вашому прикладі відображений на карті /secure
, то це повернеться, /users
що було б інформацією, яка представляє єдиний інтерес усередині типового сервлета переднього контролера.
Якщо сервлет відображений на суфіксному шаблоні (однак у ваших прикладах URL-адреси не вказується, що це так) або коли ви фактично знаходитесь у фільтрі (коли сервлет, який потрібно викликати, ще не обов'язково визначається, getPathInfo()
може повернутися null
), тоді найкраще зробити підстановку URI запиту самостійно, виходячи з довжини контуру контексту, використовуючи звичайний String
метод:
HttpServletRequest request = (HttpServletRequest) req;
String path = request.getRequestURI().substring(request.getContextPath().length());
// ...