Я хочу, чтобы URL-адреса отправлялись на сервлеты, например http://host/Servlet/1 вместо http://host/Servlet?ID=1
Любые предложения о том, как это можно сделать? Желательно также с несколькими уровнями, чтобы я мог сделать что-то вроде http://host/Servlet/1/Files
Спасибо
HttpServletRequest предоставляет метод getPathInfo () , который предоставляет вам информацию об URL-адресе запроса после самого пути сервлета.Вы можете сопоставить свой сервлет с / Servlet / *, а затем получить идентификатор с помощью getPathInfo ().
Один из способов решения этой проблемы может состоять в том, чтобы ваш контроллер-сервлет находился спереди для отправки, чтобы исправить сервлет сзади, в зависимости от URI запроса от getRequestURI в HttpServletRequest.
Вы можете сделать это с помощью фильтра.Отправьте входящий URL по некоторым правилам и перенаправьте на отправленный URL.
Если у вас нет требования «должен использовать только Tomcat», я предлагаю вам настроить слой Apache перед Tomcat, где вы можете настроить такие и другие сложные перезаписи URL.