如何在 web.xml 中创建多个通配符 url 模式?

How to create a multiple wildcard url pattern in web.xml?

如何在 Jetty 中路由以下路径?

/users/user_id/transactions/transaction_id

我这样试过:

/users/*/transactions/*

但我收到以下错误说明:

java.lang.IllegalArgumentException: Servlet Spec 12.2 violation: glob '*' can only exist at end of prefix based matches: bad spec "/users/*/transactions"

解决这个问题的方法是什么?

web.xml 中,如果您给出如下所示的 URL 模式:

    <servlet-mapping>
       <servlet-name>servletName</servlet-name>
       <url-pattern>/users/*</url-pattern>
    </servlet-mapping>

因此,URL 模式 /users/* 表示将接受所有以 /users/ 开头并以任何内容结尾的请求。例如:/users/get/all

但是你不能给出像 /users/*/anything/*/.. 这样的 URL 模式,这是不允许的。

来自 Oracle - Java™ Servlet Specification Book - Version 的 12.2 映射规范的屏幕截图 4.0 :