Если вы находитесь внутри сервлета переднего контроллера, который отображается в шаблоне префикса, вы можете просто использовать 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());
// ...