В API-интерфейсе Servlet API не поддерживается шаблон подстановки шаблона URL *
в середине отображения. Это разрешает только подстановочный символ *
в конце отображения, например /prefix/*
или в начале отображения, например *.suffix
.
При стандартном разрешенном синтаксисе шаблона URL ваш лучший выбор для отображения его на /xyz/*
и извлечения информации о пути с помощью HttpServletRequest#getPathInfo()
.
Итак, с учетом
, вот пример базового запуска, как извлечь информацию о пути, ошибки null и указатель массива из пределов проверки опущены:
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 .
Попробуйте -Wno-deprecated-declrations
или соответствующий ему параметр в Xcode, GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS
(профессиональный совет: просто введите «устаревший» в настройках сборки, чтобы найти конкретный параметр за это предупреждение).
Текущие версии Xcode (например, Xcode 9.2):
Старые версии Xcode (например, Xcode 2.x, 3.x):
Вы также можете подавлять предупреждения для каждого файла, используя
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
что, в свою очередь, делает эту практику немного лучше, чем просто подавление всех предупреждений сразу и вместе... в конце концов, вы должны знать, для чего вы это делаете.