HttpServlet: Url 包含资源之间的 ID

HttpServlet: Url that contains ID between resources

我看过这个answer

但这对我的情况没有帮助。

我有一个实现 HttpServlet 的 class。现在我想在其中放置一个 URL 以便它具有以下模式:resource/identifier/resource.

例如,我想进行此 REST 调用:http://example.com/owners/1234/dogs

我试图在 servlet 中放置这样的 URL:http://example.com/owners/*/dogs,但调用从未到达 servlet 并且未被处理。

如果我理解得很好,您希望将您的 servlet 映射到类似 /owners/*/dogs.

的内容

嗯,不幸的是,Servlet 只能在映射的开头或结尾使用通配符。因此,您必须将其映射到 /owners/*,然后使用 request.getPathInfo() 解析 url 的其余部分以提取路径信息。

您最好的选择是使用标准 JAXRS 或 Spring MVC,它们都支持路径变量。