Se você estiver dentro de um servlet de contoller frontal mapeado em um padrão de prefixo, poderá usar HttpServletRequest#getPathInfo()
.
String pathInfo = request.getPathInfo();
// ...
Supondo que o servlet no seu exemplo esteja mapeado /secure
, isso retornará /users
as informações de interesse único dentro de um servlet de controlador frontal típico.
Se, no entanto, o servlet estiver mapeado em um padrão de sufixo (seus exemplos de URL não indicam que esse é o caso), ou quando você estiver realmente dentro de um filtro (quando o servlet a ser chamado ainda não estiver necessariamente determinado ainda, então getPathInfo()
pode retornar null
), então sua melhor aposta é substring o URI da solicitação com base no comprimento do caminho de contexto usando o String
método usual :
HttpServletRequest request = (HttpServletRequest) req;
String path = request.getRequestURI().substring(request.getContextPath().length());
// ...