如何在 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 :
如何在 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 :