如何在码头使用通配符以编程方式设置处理程序上下文路径?



通常在码头中,您以 xml 指定上下文路径

<bean id="myHandler" class="org.eclipse.jetty.server.handler.MyHandler">
<property name="handler" ref="myHandler" />
<property name="contextPath" value="/myHandler" />
</bean>

有没有办法在没有 xml 的情况下以编程方式设置具有野生路径上下文路径的处理程序?

>contextPath是该上下文下所有内容的父路径。

只有当contextPath匹配时,Jetty 才会将您的请求提交给该处理程序。 这实质上是一个只读值,只能在启动该处理程序的生命周期之前设置。

因此,如果您使用/api,那么这基本上与/api/*/api/相同

然后,可以使用标准HttpServletRequest详细信息来访问实际提交给你的 URI。

如果您需要以更复杂的方式对 URI 进行切片/切块,您可能只想使用ServletContextHandler和普通 Servlet。

您甚至可以利用ServletContextHandler中的PathMappings以创造性的方式(前缀,精确,后缀,glob,正则表达式,uri模板等(映射Servlet。

相关内容

最新更新