Servlet API не поддерживает использование в шаблоне подстановочного знака шаблона URL *
. Он допускает использование подстановочного знака *
в конце сопоставления, например, /prefix/*
, или в начале сопоставления, например, *.suffix
.
.
При стандартном допустимом синтаксисе шаблона URL лучше всего сопоставить его с /xyz/*
и извлечь информацию о пути, используя HttpServletRequest#getPathInfo()
.
Итак, учитывая <url-pattern>/xyz/*</url-pattern>
, вот базовый начальный пример того, как извлечь информацию о пути, нулевые проверки и индекс массива из пропущенных проверок границ:
String pathInfo = request.getPathInfo(); // /{value}/test
String[] pathParts = pathInfo.split("/");
String part1 = pathParts[1]; // {value}
String part2 = pathParts[2]; // test
// ...
Если вы хотите более точный контроль, как это возможно с Apache HTTPD mod_rewrite
, тогда вы можете посмотреть на фильтр перезаписи URL Tuckey .