如何使用jetty中的通配符以编程方式设置处理程序上下文路径?

问题描述 投票:0回答:1

通常在jetty中,您可以在xml中指定上下文路径

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

有没有办法在没有xml的情况下以编程方式设置带有wild path contextpath的处理程序?

java jetty
1个回答
0
投票

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

如果contextPath匹配,Jetty将只向The Handler提交您的请求。这实际上是一个只读值,只能在启动Handler的LifeCycle之前设置。

所以,如果你使用说/api然后那基本上与/api/*/api/相同

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.