Как установить путь обработчика контекста программно с подстановочными знаками в Jetty? - PullRequest
0 голосов
/ 14 сентября 2018

Обычно в Jetty вы указываете контекстный путь в xml

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

Есть ли способ программно установить обработчик с контекстным путем с диким путем без xml?

1 Ответ

0 голосов
/ 14 сентября 2018

contextPath - родительский путь для всего содержимого в этом контексте.

Jetty отправит ваш запрос этому обработчику только в случае совпадения contextPath. По сути, это значение только для чтения, которое можно установить только перед запуском LifeCycle этого обработчика.

Так что, если вы использовали, скажем, /api, то это по сути то же самое, что и /api/* и /api/

Затем вы можете использовать стандартные HttpServletRequest данные, чтобы получить доступ к тому, что URI действительно был передан вам.

Возможно, вы захотите просто использовать ServletContextHandler и обычные сервлеты, если вам нужно нарезать / нарезать URI более сложными способами.

Вы даже можете воспользоваться PathMappings, найденным в ServletContextHandler, для творческого сопоставления сервлетов (префикс, точный, суффикс, глоб, регулярное выражение, шаблон uri и т. Д.).

...