Скажем, в моем файле web.xml я определяю сервлет следующим образом:
<url-pattern>/MyURL/*</url-pattern>
Как мне получить доступ ко всему, что передано * в моем сервлете? Я планирую использовать эту схему для красивых (-ish) URL.
HttpServletRequest#getPathInfo() как раз для этой цели.
HttpServletRequest#getPathInfo()
String path = request.getPathInfo();
Вот и все. Нет необходимости извлекать путь сервлета из него, как предлагается в другом ответе здесь. Также смотрите мой ответ на ваш другой вопрос .
В методе doGet или doPost HttpServlet вы можете использовать метод getRequestURI объекта HttpServletRequest для получения части пути URL-адреса. Поскольку это звучит так, как будто вы также хотите отрубить часть пути, которая отображается на serlvet, можно использовать метод getServletPath , а затем сделать что-то вроде этого:
String path = request.getRequestURI(); if(path.startsWith(request.getServletPath())) { path = path.substring(request.getServletPath().length()); }