Используйте url-pattern
из /*
, соберите информацию о пути с помощью HttpServletRequest#getPathInfo()
и, наконец, перешлите запрос к желаемому получателю с помощью RequestDispatcher#forward()
.
Базовый начальный пример (кроме бизнес-логики и обработки исключений):
String pathInfo = request.getPathInfo();
String id = pathInfo.substring(1); // Get rid of trailing slash.
String newURL = String.format("/content.jsp?id=%d", id);
request.getRequestDispatcher(newURL).forward(request, response);
В качестве альтернативы, особенно если на самом деле не используется бизнес-логика, вы также можете использовать для этого UrlRewriteFilter * Tuckey . Таким образом, вы можете переписать свой URL так же, как если бы вы использовали хорошо известный Apache HTTPD mod_rewrite
.